{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "sns.set()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>02.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>999.00</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.00</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>05.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.00</td>\n",
       "      <td>-1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>06.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2554</td>\n",
       "      <td>1709.05</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>15.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2555</td>\n",
       "      <td>1099.00</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         date  date_block_num  shop_id  item_id  item_price  item_cnt_day\n",
       "0  02.01.2013               0       59    22154      999.00           1.0\n",
       "1  03.01.2013               0       25     2552      899.00           1.0\n",
       "2  05.01.2013               0       25     2552      899.00          -1.0\n",
       "3  06.01.2013               0       25     2554     1709.05           1.0\n",
       "4  15.01.2013               0       25     2555     1099.00           1.0"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train = pd.read_csv('sales_train.csv')\n",
    "test= pd.read_csv('test.csv')\n",
    "train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ID</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>5037</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>5320</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>5233</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>5232</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>5268</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   ID  shop_id  item_id\n",
       "0   0        5     5037\n",
       "1   1        5     5320\n",
       "2   2        5     5233\n",
       "3   3        5     5232\n",
       "4   4        5     5268"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集的商店数量： 60 ，商品数量： 21807；\n",
      " 测试的商店数量： 42，商品数量： 5100。\n"
     ]
    }
   ],
   "source": [
    "print('训练集的商店数量： %d ，商品数量： %d；\\n' % (train['shop_id'].unique().size, train['item_id'].unique().size),\n",
    "     '测试的商店数量： %d，商品数量： %d。' % (test['shop_id'].unique().size, test['item_id'].unique().size))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ID</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [ID, shop_id, item_id]\n",
       "Index: []"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test[~test['shop_id'].isin(train['shop_id'].unique())]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([5320, 5268, 5826, 3538, 3571, 3604, 3407, 3408, 3405, 3984],\n",
       "      dtype=int64)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test[~test['item_id'].isin(train['item_id'].unique())]['item_id'].unique()[:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>shop_name</th>\n",
       "      <th>shop_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>!Якутск Орджоникидзе, 56 фран</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>!Якутск ТЦ \"Центральный\" фран</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Адыгея ТЦ \"Мега\"</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Балашиха ТРК \"Октябрь-Киномир\"</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Волжский ТЦ \"Волга Молл\"</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        shop_name  shop_id\n",
       "0   !Якутск Орджоникидзе, 56 фран        0\n",
       "1   !Якутск ТЦ \"Центральный\" фран        1\n",
       "2                Адыгея ТЦ \"Мега\"        2\n",
       "3  Балашиха ТРК \"Октябрь-Киномир\"        3\n",
       "4        Волжский ТЦ \"Волга Молл\"        4"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "shops = pd.read_csv('shops.csv')\n",
    "shops.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([10, 57, 58, 39], dtype=int64)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 查看测试集是否包含了这几个商店\n",
    "test[test['shop_id'].isin([39, 40, 10, 11, 0, 57, 58, 1])]['shop_id'].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Series([], Name: shop_id, dtype: int64)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "shop_id_map = {11: 10, 0: 57, 1: 58, 40: 39}\n",
    "train.loc[train['shop_id'].isin(shop_id_map), 'shop_id'] = train.loc[train['shop_id'].isin(shop_id_map), 'shop_id'].map(shop_id_map)\n",
    "train.loc[train['shop_id'].isin(shop_id_map), 'shop_id']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([57, 58, 10, 39], dtype=int64)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.loc[train['shop_id'].isin([39, 40, 10, 11, 0, 57, 58, 1]), 'shop_id'].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>shop_name</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>shop_city</th>\n",
       "      <th>shop_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>!Якутск Орджоникидзе, 56 фран</td>\n",
       "      <td>0</td>\n",
       "      <td>Якутск</td>\n",
       "      <td>Others</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>!Якутск ТЦ \"Центральный\" фран</td>\n",
       "      <td>1</td>\n",
       "      <td>Якутск</td>\n",
       "      <td>ТЦ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Адыгея ТЦ \"Мега\"</td>\n",
       "      <td>2</td>\n",
       "      <td>Адыгея</td>\n",
       "      <td>ТЦ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Балашиха ТРК \"Октябрь-Киномир\"</td>\n",
       "      <td>3</td>\n",
       "      <td>Балашиха</td>\n",
       "      <td>ТРК</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Волжский ТЦ \"Волга Молл\"</td>\n",
       "      <td>4</td>\n",
       "      <td>Волжский</td>\n",
       "      <td>ТЦ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Вологда ТРЦ \"Мармелад\"</td>\n",
       "      <td>5</td>\n",
       "      <td>Вологда</td>\n",
       "      <td>ТРЦ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Воронеж (Плехановская, 13)</td>\n",
       "      <td>6</td>\n",
       "      <td>Воронеж</td>\n",
       "      <td>Others</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Воронеж ТРЦ \"Максимир\"</td>\n",
       "      <td>7</td>\n",
       "      <td>Воронеж</td>\n",
       "      <td>ТРЦ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Воронеж ТРЦ Сити-Парк \"Град\"</td>\n",
       "      <td>8</td>\n",
       "      <td>Воронеж</td>\n",
       "      <td>ТРЦ</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Выездная Торговля</td>\n",
       "      <td>9</td>\n",
       "      <td>Выездная</td>\n",
       "      <td>Others</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>Жуковский ул. Чкалова 39м?</td>\n",
       "      <td>10</td>\n",
       "      <td>Жуковский</td>\n",
       "      <td>Others</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>Жуковский ул. Чкалова 39м²</td>\n",
       "      <td>11</td>\n",
       "      <td>Жуковский</td>\n",
       "      <td>Others</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>Интернет-магазин ЧС</td>\n",
       "      <td>12</td>\n",
       "      <td>Online</td>\n",
       "      <td>Online</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         shop_name  shop_id  shop_city shop_type\n",
       "0    !Якутск Орджоникидзе, 56 фран        0     Якутск    Others\n",
       "1    !Якутск ТЦ \"Центральный\" фран        1     Якутск        ТЦ\n",
       "2                 Адыгея ТЦ \"Мега\"        2     Адыгея        ТЦ\n",
       "3   Балашиха ТРК \"Октябрь-Киномир\"        3   Балашиха       ТРК\n",
       "4         Волжский ТЦ \"Волга Молл\"        4   Волжский        ТЦ\n",
       "5           Вологда ТРЦ \"Мармелад\"        5    Вологда       ТРЦ\n",
       "6       Воронеж (Плехановская, 13)        6    Воронеж    Others\n",
       "7           Воронеж ТРЦ \"Максимир\"        7    Воронеж       ТРЦ\n",
       "8     Воронеж ТРЦ Сити-Парк \"Град\"        8    Воронеж       ТРЦ\n",
       "9                Выездная Торговля        9   Выездная    Others\n",
       "10      Жуковский ул. Чкалова 39м?       10  Жуковский    Others\n",
       "11      Жуковский ул. Чкалова 39м²       11  Жуковский    Others\n",
       "12             Интернет-магазин ЧС       12     Online    Online"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "shops['shop_city'] = shops['shop_name'].map(lambda x:x.split(' ')[0].strip('!'))\n",
    "shop_types = ['ТЦ', 'ТРК', 'ТРЦ', 'ТК', 'МТРЦ']\n",
    "shops['shop_type'] = shops['shop_name'].map(lambda x:x.split(' ')[1] if x.split(' ')[1] in shop_types else 'Others')\n",
    "shops.loc[shops['shop_id'].isin([12, 56]), ['shop_city', 'shop_type']] = 'Online'  # 12和56号是网上商店\n",
    "shops.head(13)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>shop_name</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>shop_city</th>\n",
       "      <th>shop_type</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>shop_type_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>!Якутск Орджоникидзе, 56 фран</td>\n",
       "      <td>0</td>\n",
       "      <td>Якутск</td>\n",
       "      <td>Others</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>!Якутск ТЦ \"Центральный\" фран</td>\n",
       "      <td>1</td>\n",
       "      <td>Якутск</td>\n",
       "      <td>ТЦ</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Адыгея ТЦ \"Мега\"</td>\n",
       "      <td>2</td>\n",
       "      <td>Адыгея</td>\n",
       "      <td>ТЦ</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Балашиха ТРК \"Октябрь-Киномир\"</td>\n",
       "      <td>3</td>\n",
       "      <td>Балашиха</td>\n",
       "      <td>ТРК</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Волжский ТЦ \"Волга Молл\"</td>\n",
       "      <td>4</td>\n",
       "      <td>Волжский</td>\n",
       "      <td>ТЦ</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Вологда ТРЦ \"Мармелад\"</td>\n",
       "      <td>5</td>\n",
       "      <td>Вологда</td>\n",
       "      <td>ТРЦ</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Воронеж (Плехановская, 13)</td>\n",
       "      <td>6</td>\n",
       "      <td>Воронеж</td>\n",
       "      <td>Others</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        shop_name  shop_id shop_city shop_type  \\\n",
       "0   !Якутск Орджоникидзе, 56 фран        0    Якутск    Others   \n",
       "1   !Якутск ТЦ \"Центральный\" фран        1    Якутск        ТЦ   \n",
       "2                Адыгея ТЦ \"Мега\"        2    Адыгея        ТЦ   \n",
       "3  Балашиха ТРК \"Октябрь-Киномир\"        3  Балашиха       ТРК   \n",
       "4        Волжский ТЦ \"Волга Молл\"        4  Волжский        ТЦ   \n",
       "5          Вологда ТРЦ \"Мармелад\"        5   Вологда       ТРЦ   \n",
       "6      Воронеж (Плехановская, 13)        6   Воронеж    Others   \n",
       "\n",
       "   shop_city_code  shop_type_code  \n",
       "0               0               0  \n",
       "1               0               1  \n",
       "2               1               1  \n",
       "3               2               2  \n",
       "4               3               1  \n",
       "5               4               3  \n",
       "6               5               0  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 对商店信息进行编码，降低模型训练的内存消耗\n",
    "shop_city_map = dict([(v,k) for k, v in enumerate(shops['shop_city'].unique())])\n",
    "shop_type_map = dict([(v,k) for k, v in enumerate(shops['shop_type'].unique())])\n",
    "shops['shop_city_code'] = shops['shop_city'].map(shop_city_map)\n",
    "shops['shop_type_code'] = shops['shop_type'].map(shop_type_map)\n",
    "shops.head(7)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_name</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_category_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>! ВО ВЛАСТИ НАВАЖДЕНИЯ (ПЛАСТ.)         D</td>\n",
       "      <td>0</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>!ABBYY FineReader 12 Professional Edition Full...</td>\n",
       "      <td>1</td>\n",
       "      <td>76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>***В ЛУЧАХ СЛАВЫ   (UNV)                    D</td>\n",
       "      <td>2</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>***ГОЛУБАЯ ВОЛНА  (Univ)                      D</td>\n",
       "      <td>3</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>***КОРОБКА (СТЕКЛО)                       D</td>\n",
       "      <td>4</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22165</th>\n",
       "      <td>Ядерный титбит 2 [PC, Цифровая версия]</td>\n",
       "      <td>22165</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22166</th>\n",
       "      <td>Язык запросов 1С:Предприятия  [Цифровая версия]</td>\n",
       "      <td>22166</td>\n",
       "      <td>54</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22167</th>\n",
       "      <td>Язык запросов 1С:Предприятия 8 (+CD). Хрустале...</td>\n",
       "      <td>22167</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22168</th>\n",
       "      <td>Яйцо для Little Inu</td>\n",
       "      <td>22168</td>\n",
       "      <td>62</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22169</th>\n",
       "      <td>Яйцо дракона (Игра престолов)</td>\n",
       "      <td>22169</td>\n",
       "      <td>69</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>22170 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                               item_name  item_id  \\\n",
       "0              ! ВО ВЛАСТИ НАВАЖДЕНИЯ (ПЛАСТ.)         D        0   \n",
       "1      !ABBYY FineReader 12 Professional Edition Full...        1   \n",
       "2          ***В ЛУЧАХ СЛАВЫ   (UNV)                    D        2   \n",
       "3        ***ГОЛУБАЯ ВОЛНА  (Univ)                      D        3   \n",
       "4            ***КОРОБКА (СТЕКЛО)                       D        4   \n",
       "...                                                  ...      ...   \n",
       "22165             Ядерный титбит 2 [PC, Цифровая версия]    22165   \n",
       "22166    Язык запросов 1С:Предприятия  [Цифровая версия]    22166   \n",
       "22167  Язык запросов 1С:Предприятия 8 (+CD). Хрустале...    22167   \n",
       "22168                                Яйцо для Little Inu    22168   \n",
       "22169                      Яйцо дракона (Игра престолов)    22169   \n",
       "\n",
       "       item_category_id  \n",
       "0                    40  \n",
       "1                    76  \n",
       "2                    40  \n",
       "3                    40  \n",
       "4                    40  \n",
       "...                 ...  \n",
       "22165                31  \n",
       "22166                54  \n",
       "22167                49  \n",
       "22168                62  \n",
       "22169                69  \n",
       "\n",
       "[22170 rows x 3 columns]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "items = pd.read_csv('items.csv')\n",
    "items"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_name</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_category_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2558</th>\n",
       "      <td>DEEPPURPLEComeHellOrHighWaterDVD</td>\n",
       "      <td>2558</td>\n",
       "      <td>59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2970</th>\n",
       "      <td>Divinity:DragonCommander[PC,Цифроваяверсия]</td>\n",
       "      <td>2970</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5063</th>\n",
       "      <td>NIRVANAUnpluggedInNewYorkLP</td>\n",
       "      <td>5063</td>\n",
       "      <td>58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14539</th>\n",
       "      <td>МЕНЯЮЩИЕРЕАЛЬНОСТЬ(регион)</td>\n",
       "      <td>14539</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19475</th>\n",
       "      <td>СтругацкиеА.иБ.Улитканасклоне(mp3-CD)(Jewel)</td>\n",
       "      <td>19475</td>\n",
       "      <td>43</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19581</th>\n",
       "      <td>ТАРЗАН(BD)</td>\n",
       "      <td>19581</td>\n",
       "      <td>37</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                          item_name  item_id  item_category_id\n",
       "2558               DEEPPURPLEComeHellOrHighWaterDVD     2558                59\n",
       "2970    Divinity:DragonCommander[PC,Цифроваяверсия]     2970                31\n",
       "5063                    NIRVANAUnpluggedInNewYorkLP     5063                58\n",
       "14539                    МЕНЯЮЩИЕРЕАЛЬНОСТЬ(регион)    14539                40\n",
       "19475  СтругацкиеА.иБ.Улитканасклоне(mp3-CD)(Jewel)    19475                43\n",
       "19581                                    ТАРЗАН(BD)    19581                37"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 数据集比较大，只分析有没有重复名称不同ID的商品\n",
    "items['item_name'] = items['item_name'].map(lambda x: ''.join(x.split(' ')))  # 删除空格\n",
    "duplicated_item_name = items[items['item_name'].duplicated()]\n",
    "duplicated_item_name "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_name</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_category_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2514</th>\n",
       "      <td>DEEPPURPLEComeHellOrHighWaterDVD</td>\n",
       "      <td>2514</td>\n",
       "      <td>59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2558</th>\n",
       "      <td>DEEPPURPLEComeHellOrHighWaterDVD</td>\n",
       "      <td>2558</td>\n",
       "      <td>59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2968</th>\n",
       "      <td>Divinity:DragonCommander[PC,Цифроваяверсия]</td>\n",
       "      <td>2968</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2970</th>\n",
       "      <td>Divinity:DragonCommander[PC,Цифроваяверсия]</td>\n",
       "      <td>2970</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5061</th>\n",
       "      <td>NIRVANAUnpluggedInNewYorkLP</td>\n",
       "      <td>5061</td>\n",
       "      <td>58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5063</th>\n",
       "      <td>NIRVANAUnpluggedInNewYorkLP</td>\n",
       "      <td>5063</td>\n",
       "      <td>58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14537</th>\n",
       "      <td>МЕНЯЮЩИЕРЕАЛЬНОСТЬ(регион)</td>\n",
       "      <td>14537</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14539</th>\n",
       "      <td>МЕНЯЮЩИЕРЕАЛЬНОСТЬ(регион)</td>\n",
       "      <td>14539</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19465</th>\n",
       "      <td>СтругацкиеА.иБ.Улитканасклоне(mp3-CD)(Jewel)</td>\n",
       "      <td>19465</td>\n",
       "      <td>43</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19475</th>\n",
       "      <td>СтругацкиеА.иБ.Улитканасклоне(mp3-CD)(Jewel)</td>\n",
       "      <td>19475</td>\n",
       "      <td>43</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19579</th>\n",
       "      <td>ТАРЗАН(BD)</td>\n",
       "      <td>19579</td>\n",
       "      <td>37</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19581</th>\n",
       "      <td>ТАРЗАН(BD)</td>\n",
       "      <td>19581</td>\n",
       "      <td>37</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                          item_name  item_id  item_category_id\n",
       "2514               DEEPPURPLEComeHellOrHighWaterDVD     2514                59\n",
       "2558               DEEPPURPLEComeHellOrHighWaterDVD     2558                59\n",
       "2968    Divinity:DragonCommander[PC,Цифроваяверсия]     2968                31\n",
       "2970    Divinity:DragonCommander[PC,Цифроваяверсия]     2970                31\n",
       "5061                    NIRVANAUnpluggedInNewYorkLP     5061                58\n",
       "5063                    NIRVANAUnpluggedInNewYorkLP     5063                58\n",
       "14537                    МЕНЯЮЩИЕРЕАЛЬНОСТЬ(регион)    14537                40\n",
       "14539                    МЕНЯЮЩИЕРЕАЛЬНОСТЬ(регион)    14539                40\n",
       "19465  СтругацкиеА.иБ.Улитканасклоне(mp3-CD)(Jewel)    19465                43\n",
       "19475  СтругацкиеА.иБ.Улитканасклоне(mp3-CD)(Jewel)    19475                43\n",
       "19579                                    ТАРЗАН(BD)    19579                37\n",
       "19581                                    ТАРЗАН(BD)    19581                37"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "duplicated_item_name_rec = items[items['item_name'].isin(duplicated_item_name['item_name'])]  # 6个商品相同名字不同id的记录\n",
    "duplicated_item_name_rec"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([19581,  5063], dtype=int64)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test[test['item_id'].isin(duplicated_item_name_rec['item_id'])]['item_id'].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{2514: 2558, 2968: 2970, 5061: 5063, 14537: 14539, 19465: 19475, 19579: 19581}"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "old_id = duplicated_item_name_rec['item_id'].values[::2]\n",
    "new_id = duplicated_item_name_rec['item_id'].values[1::2]\n",
    "old_new_map = dict(zip(old_id, new_id))\n",
    "old_new_map"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [date, date_block_num, shop_id, item_id, item_price, item_cnt_day]\n",
       "Index: []"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.loc[train['item_id'].isin(old_id), 'item_id'] = train.loc[train['item_id'].isin(old_id), 'item_id'].map(old_new_map)\n",
    "train[train['item_id'].isin(old_id)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 2558, 14539, 19475, 19581,  5063,  2970], dtype=int64)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train[train['item_id'].isin(duplicated_item_name_rec['item_id'].values)]['item_id'].unique()  # 旧id成功替换成新id"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Series([], dtype: int64)"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "items.groupby('item_id').size()[items.groupby('item_id').size() > 1]  # 检查同一个商品是否分了不同类目"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_category_name</th>\n",
       "      <th>item_category_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>PC - Гарнитуры/Наушники</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Аксессуары - PS2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Аксессуары - PS3</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Аксессуары - PS4</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Аксессуары - PSP</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>79</th>\n",
       "      <td>Служебные</td>\n",
       "      <td>79</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>80</th>\n",
       "      <td>Служебные - Билеты</td>\n",
       "      <td>80</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>81</th>\n",
       "      <td>Чистые носители (шпиль)</td>\n",
       "      <td>81</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>82</th>\n",
       "      <td>Чистые носители (штучные)</td>\n",
       "      <td>82</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>83</th>\n",
       "      <td>Элементы питания</td>\n",
       "      <td>83</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>84 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "           item_category_name  item_category_id\n",
       "0     PC - Гарнитуры/Наушники                 0\n",
       "1            Аксессуары - PS2                 1\n",
       "2            Аксессуары - PS3                 2\n",
       "3            Аксессуары - PS4                 3\n",
       "4            Аксессуары - PSP                 4\n",
       "..                        ...               ...\n",
       "79                  Служебные                79\n",
       "80         Служебные - Билеты                80\n",
       "81    Чистые носители (шпиль)                81\n",
       "82  Чистые носители (штучные)                82\n",
       "83           Элементы питания                83\n",
       "\n",
       "[84 rows x 2 columns]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cat = pd.read_csv('item_categories.csv')\n",
    "cat"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_category_name</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>Карты оплаты (Кино, Музыка, Игры)</td>\n",
       "      <td>32</td>\n",
       "      <td>Карты оплаты (Кино, Музыка, Игры)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>Карты оплаты - Live!</td>\n",
       "      <td>33</td>\n",
       "      <td>Карты оплаты</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>Карты оплаты - Live! (Цифра)</td>\n",
       "      <td>34</td>\n",
       "      <td>Карты оплаты</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>81</th>\n",
       "      <td>Чистые носители (шпиль)</td>\n",
       "      <td>81</td>\n",
       "      <td>Чистые носители (шпиль)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>82</th>\n",
       "      <td>Чистые носители (штучные)</td>\n",
       "      <td>82</td>\n",
       "      <td>Чистые носители (штучные)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>83</th>\n",
       "      <td>Элементы питания</td>\n",
       "      <td>83</td>\n",
       "      <td>Элементы питания</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   item_category_name  item_category_id  \\\n",
       "32  Карты оплаты (Кино, Музыка, Игры)                32   \n",
       "33               Карты оплаты - Live!                33   \n",
       "34       Карты оплаты - Live! (Цифра)                34   \n",
       "81            Чистые носители (шпиль)                81   \n",
       "82          Чистые носители (штучные)                82   \n",
       "83                   Элементы питания                83   \n",
       "\n",
       "                            item_type  \n",
       "32  Карты оплаты (Кино, Музыка, Игры)  \n",
       "33                       Карты оплаты  \n",
       "34                       Карты оплаты  \n",
       "81            Чистые носители (шпиль)  \n",
       "82          Чистые носители (штучные)  \n",
       "83                   Элементы питания  "
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cat['item_type'] = cat['item_category_name'].map(lambda x: 'Игры' if x.find('Игры ')>0 else x.split(' -')[0].strip('\\\"')) \n",
    "cat.iloc[[32, 33, 34, -3, -2, -1]]  # 有几个比较特殊，需要另外调整一下"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_category_name</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>Карты оплаты (Кино, Музыка, Игры)</td>\n",
       "      <td>32</td>\n",
       "      <td>Карты оплаты</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>81</th>\n",
       "      <td>Чистые носители (шпиль)</td>\n",
       "      <td>81</td>\n",
       "      <td>Чистые носители</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>82</th>\n",
       "      <td>Чистые носители (штучные)</td>\n",
       "      <td>82</td>\n",
       "      <td>Чистые носители</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   item_category_name  item_category_id        item_type\n",
       "32  Карты оплаты (Кино, Музыка, Игры)                32     Карты оплаты\n",
       "81            Чистые носители (шпиль)                81  Чистые носители\n",
       "82          Чистые носители (штучные)                82  Чистые носители"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cat.iloc[[32,-3, -2], -1] = ['Карты оплаты', 'Чистые носители', 'Чистые носители' ]\n",
    "cat.iloc[[32,-3, -2]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_category_name</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type</th>\n",
       "      <th>sub_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>PC - Гарнитуры/Наушники</td>\n",
       "      <td>0</td>\n",
       "      <td>PC</td>\n",
       "      <td>Гарнитуры/Наушники</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Аксессуары - PS2</td>\n",
       "      <td>1</td>\n",
       "      <td>Аксессуары</td>\n",
       "      <td>PS2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Аксессуары - PS3</td>\n",
       "      <td>2</td>\n",
       "      <td>Аксессуары</td>\n",
       "      <td>PS3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Аксессуары - PS4</td>\n",
       "      <td>3</td>\n",
       "      <td>Аксессуары</td>\n",
       "      <td>PS4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Аксессуары - PSP</td>\n",
       "      <td>4</td>\n",
       "      <td>Аксессуары</td>\n",
       "      <td>PSP</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>79</th>\n",
       "      <td>Служебные</td>\n",
       "      <td>79</td>\n",
       "      <td>Служебные</td>\n",
       "      <td>Служебные</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>80</th>\n",
       "      <td>Служебные - Билеты</td>\n",
       "      <td>80</td>\n",
       "      <td>Служебные</td>\n",
       "      <td>Билеты</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>81</th>\n",
       "      <td>Чистые носители (шпиль)</td>\n",
       "      <td>81</td>\n",
       "      <td>Чистые носители</td>\n",
       "      <td>Чистые носители (шпиль)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>82</th>\n",
       "      <td>Чистые носители (штучные)</td>\n",
       "      <td>82</td>\n",
       "      <td>Чистые носители</td>\n",
       "      <td>Чистые носители (штучные)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>83</th>\n",
       "      <td>Элементы питания</td>\n",
       "      <td>83</td>\n",
       "      <td>Элементы питания</td>\n",
       "      <td>Элементы питания</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>84 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "           item_category_name  item_category_id         item_type  \\\n",
       "0     PC - Гарнитуры/Наушники                 0                PC   \n",
       "1            Аксессуары - PS2                 1        Аксессуары   \n",
       "2            Аксессуары - PS3                 2        Аксессуары   \n",
       "3            Аксессуары - PS4                 3        Аксессуары   \n",
       "4            Аксессуары - PSP                 4        Аксессуары   \n",
       "..                        ...               ...               ...   \n",
       "79                  Служебные                79         Служебные   \n",
       "80         Служебные - Билеты                80         Служебные   \n",
       "81    Чистые носители (шпиль)                81   Чистые носители   \n",
       "82  Чистые носители (штучные)                82   Чистые носители   \n",
       "83           Элементы питания                83  Элементы питания   \n",
       "\n",
       "                     sub_type  \n",
       "0          Гарнитуры/Наушники  \n",
       "1                         PS2  \n",
       "2                         PS3  \n",
       "3                         PS4  \n",
       "4                         PSP  \n",
       "..                        ...  \n",
       "79                  Служебные  \n",
       "80                     Билеты  \n",
       "81    Чистые носители (шпиль)  \n",
       "82  Чистые носители (штучные)  \n",
       "83           Элементы питания  \n",
       "\n",
       "[84 rows x 4 columns]"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cat['sub_type'] = cat['item_category_name'].map(lambda x: x.split('-',1)[-1]) \n",
    "cat"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_category_name</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type</th>\n",
       "      <th>sub_type</th>\n",
       "      <th>item_type_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>PC - Гарнитуры/Наушники</td>\n",
       "      <td>0</td>\n",
       "      <td>PC</td>\n",
       "      <td>Гарнитуры/Наушники</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Аксессуары - PS2</td>\n",
       "      <td>1</td>\n",
       "      <td>Аксессуары</td>\n",
       "      <td>PS2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Аксессуары - PS3</td>\n",
       "      <td>2</td>\n",
       "      <td>Аксессуары</td>\n",
       "      <td>PS3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Аксессуары - PS4</td>\n",
       "      <td>3</td>\n",
       "      <td>Аксессуары</td>\n",
       "      <td>PS4</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Аксессуары - PSP</td>\n",
       "      <td>4</td>\n",
       "      <td>Аксессуары</td>\n",
       "      <td>PSP</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        item_category_name  item_category_id   item_type             sub_type  \\\n",
       "0  PC - Гарнитуры/Наушники                 0          PC   Гарнитуры/Наушники   \n",
       "1         Аксессуары - PS2                 1  Аксессуары                  PS2   \n",
       "2         Аксессуары - PS3                 2  Аксессуары                  PS3   \n",
       "3         Аксессуары - PS4                 3  Аксессуары                  PS4   \n",
       "4         Аксессуары - PSP                 4  Аксессуары                  PSP   \n",
       "\n",
       "   item_type_code  \n",
       "0               0  \n",
       "1               1  \n",
       "2               1  \n",
       "3               1  \n",
       "4               1  "
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "item_type_map = dict([(v,k) for k, v in enumerate(cat['item_type'].unique())])\n",
    "cat['item_type_code'] = cat['item_type'].map(item_type_map)\n",
    "cat.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_category_name</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type</th>\n",
       "      <th>sub_type</th>\n",
       "      <th>item_type_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>PC - Гарнитуры/Наушники</td>\n",
       "      <td>0</td>\n",
       "      <td>PC</td>\n",
       "      <td>Гарнитуры/Наушники</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Аксессуары - PS2</td>\n",
       "      <td>1</td>\n",
       "      <td>Аксессуары</td>\n",
       "      <td>PS2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Аксессуары - PS3</td>\n",
       "      <td>2</td>\n",
       "      <td>Аксессуары</td>\n",
       "      <td>PS3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Аксессуары - PS4</td>\n",
       "      <td>3</td>\n",
       "      <td>Аксессуары</td>\n",
       "      <td>PS4</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Аксессуары - PSP</td>\n",
       "      <td>4</td>\n",
       "      <td>Аксессуары</td>\n",
       "      <td>PSP</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>79</th>\n",
       "      <td>Служебные</td>\n",
       "      <td>79</td>\n",
       "      <td>Служебные</td>\n",
       "      <td>Служебные</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>80</th>\n",
       "      <td>Служебные - Билеты</td>\n",
       "      <td>80</td>\n",
       "      <td>Служебные</td>\n",
       "      <td>Билеты</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>81</th>\n",
       "      <td>Чистые носители (шпиль)</td>\n",
       "      <td>81</td>\n",
       "      <td>Чистые носители</td>\n",
       "      <td>Чистые носители (шпиль)</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>82</th>\n",
       "      <td>Чистые носители (штучные)</td>\n",
       "      <td>82</td>\n",
       "      <td>Чистые носители</td>\n",
       "      <td>Чистые носители (штучные)</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>83</th>\n",
       "      <td>Элементы питания</td>\n",
       "      <td>83</td>\n",
       "      <td>Элементы питания</td>\n",
       "      <td>Элементы питания</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>84 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "           item_category_name  item_category_id         item_type  \\\n",
       "0     PC - Гарнитуры/Наушники                 0                PC   \n",
       "1            Аксессуары - PS2                 1        Аксессуары   \n",
       "2            Аксессуары - PS3                 2        Аксессуары   \n",
       "3            Аксессуары - PS4                 3        Аксессуары   \n",
       "4            Аксессуары - PSP                 4        Аксессуары   \n",
       "..                        ...               ...               ...   \n",
       "79                  Служебные                79         Служебные   \n",
       "80         Служебные - Билеты                80         Служебные   \n",
       "81    Чистые носители (шпиль)                81   Чистые носители   \n",
       "82  Чистые носители (штучные)                82   Чистые носители   \n",
       "83           Элементы питания                83  Элементы питания   \n",
       "\n",
       "                     sub_type  item_type_code  \n",
       "0          Гарнитуры/Наушники               0  \n",
       "1                         PS2               1  \n",
       "2                         PS3               1  \n",
       "3                         PS4               1  \n",
       "4                         PSP               1  \n",
       "..                        ...             ...  \n",
       "79                  Служебные              15  \n",
       "80                     Билеты              15  \n",
       "81    Чистые носители (шпиль)              16  \n",
       "82  Чистые носители (штучные)              16  \n",
       "83           Элементы питания              17  \n",
       "\n",
       "[84 rows x 5 columns]"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cat['sub_type'] = cat['item_category_name'].map(lambda x: x.split('-',1)[-1]) \n",
    "cat"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([' Гарнитуры/Наушники', ' PS2', ' PS3', ' PS4', ' PSP', ' PSVita',\n",
       "       ' XBOX 360', ' XBOX ONE', 'Билеты (Цифра)', 'Доставка товара',\n",
       "       ' Прочие', ' Аксессуары для игр', ' Цифра',\n",
       "       ' Дополнительные издания', ' Коллекционные издания',\n",
       "       ' Стандартные издания', 'Карты оплаты (Кино, Музыка, Игры)',\n",
       "       ' Live!', ' Live! (Цифра)', ' PSN', ' Windows (Цифра)', ' Blu-Ray',\n",
       "       ' Blu-Ray 3D', ' Blu-Ray 4K', ' DVD', ' Коллекционное',\n",
       "       ' Артбуки, энциклопедии', ' Аудиокниги', ' Аудиокниги (Цифра)',\n",
       "       ' Аудиокниги 1С', ' Бизнес литература', ' Комиксы, манга',\n",
       "       ' Компьютерная литература', ' Методические материалы 1С',\n",
       "       ' Открытки', ' Познавательная литература', ' Путеводители',\n",
       "       ' Художественная литература', ' CD локального производства',\n",
       "       ' CD фирменного производства', ' MP3', ' Винил',\n",
       "       ' Музыкальное видео', ' Подарочные издания', ' Атрибутика',\n",
       "       ' Гаджеты, роботы, спорт', ' Мягкие игрушки', ' Настольные игры',\n",
       "       ' Настольные игры (компактные)', ' Открытки, наклейки',\n",
       "       ' Развитие', ' Сертификаты, услуги', ' Сувениры',\n",
       "       ' Сувениры (в навеску)', ' Сумки, Альбомы, Коврики д/мыши',\n",
       "       ' Фигурки', ' 1С:Предприятие 8', ' MAC (Цифра)',\n",
       "       ' Для дома и офиса', ' Для дома и офиса (Цифра)', ' Обучающие',\n",
       "       ' Обучающие (Цифра)', 'Служебные', ' Билеты',\n",
       "       'Чистые носители (шпиль)', 'Чистые носители (штучные)',\n",
       "       'Элементы питания'], dtype=object)"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cat['sub_type'].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_category_name</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type</th>\n",
       "      <th>sub_type</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>PC - Гарнитуры/Наушники</td>\n",
       "      <td>0</td>\n",
       "      <td>PC</td>\n",
       "      <td>Гарнитуры/Наушники</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Аксессуары - PS2</td>\n",
       "      <td>1</td>\n",
       "      <td>Аксессуары</td>\n",
       "      <td>PS2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Аксессуары - PS3</td>\n",
       "      <td>2</td>\n",
       "      <td>Аксессуары</td>\n",
       "      <td>PS3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Аксессуары - PS4</td>\n",
       "      <td>3</td>\n",
       "      <td>Аксессуары</td>\n",
       "      <td>PS4</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Аксессуары - PSP</td>\n",
       "      <td>4</td>\n",
       "      <td>Аксессуары</td>\n",
       "      <td>PSP</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        item_category_name  item_category_id   item_type             sub_type  \\\n",
       "0  PC - Гарнитуры/Наушники                 0          PC   Гарнитуры/Наушники   \n",
       "1         Аксессуары - PS2                 1  Аксессуары                  PS2   \n",
       "2         Аксессуары - PS3                 2  Аксессуары                  PS3   \n",
       "3         Аксессуары - PS4                 3  Аксессуары                  PS4   \n",
       "4         Аксессуары - PSP                 4  Аксессуары                  PSP   \n",
       "\n",
       "   item_type_code  sub_type_code  \n",
       "0               0              0  \n",
       "1               1              1  \n",
       "2               1              2  \n",
       "3               1              3  \n",
       "4               1              4  "
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sub_type_map = dict([(v,k) for k, v in enumerate(cat['sub_type'].unique())])\n",
    "cat['sub_type_code'] = cat['sub_type'].map(sub_type_map)\n",
    "cat.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_name</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>!ВОВЛАСТИНАВАЖДЕНИЯ(ПЛАСТ.)D</td>\n",
       "      <td>0</td>\n",
       "      <td>40</td>\n",
       "      <td>10</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>!ABBYYFineReader12ProfessionalEditionFull[PC,Ц...</td>\n",
       "      <td>1</td>\n",
       "      <td>76</td>\n",
       "      <td>14</td>\n",
       "      <td>59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>***ВЛУЧАХСЛАВЫ(UNV)D</td>\n",
       "      <td>2</td>\n",
       "      <td>40</td>\n",
       "      <td>10</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>***ГОЛУБАЯВОЛНА(Univ)D</td>\n",
       "      <td>3</td>\n",
       "      <td>40</td>\n",
       "      <td>10</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>***КОРОБКА(СТЕКЛО)D</td>\n",
       "      <td>4</td>\n",
       "      <td>40</td>\n",
       "      <td>10</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                           item_name  item_id  \\\n",
       "0                       !ВОВЛАСТИНАВАЖДЕНИЯ(ПЛАСТ.)D        0   \n",
       "1  !ABBYYFineReader12ProfessionalEditionFull[PC,Ц...        1   \n",
       "2                               ***ВЛУЧАХСЛАВЫ(UNV)D        2   \n",
       "3                             ***ГОЛУБАЯВОЛНА(Univ)D        3   \n",
       "4                                ***КОРОБКА(СТЕКЛО)D        4   \n",
       "\n",
       "   item_category_id  item_type_code  sub_type_code  \n",
       "0                40              10             24  \n",
       "1                76              14             59  \n",
       "2                40              10             24  \n",
       "3                40              10             24  \n",
       "4                40              10             24  "
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "items = items.merge(cat[['item_category_id', 'item_type_code', 'sub_type_code']], on='item_category_id', how='left')\n",
    "items.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import gc\n",
    "del cat\n",
    "gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda3\\lib\\site-packages\\scipy\\stats\\stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
      "  return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.JointGrid at 0x1392669d438>"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x432 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.jointplot('item_cnt_day', 'item_price', train, kind='scatter')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda3\\lib\\site-packages\\scipy\\stats\\stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
      "  return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.JointGrid at 0x13924a7d6d8>"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x432 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_filtered = train[(train['item_cnt_day'] < 800) & (train['item_price'] < 70000)].copy()\n",
    "sns.jointplot('item_cnt_day', 'item_price', train_filtered, kind='scatter')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda3\\lib\\site-packages\\scipy\\stats\\stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
      "  return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.JointGrid at 0x13924a7d358>"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x432 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_filtered = train[(train['item_cnt_day'] < 800) & (train['item_price'] < 70000)].copy()\n",
    "sns.jointplot('item_cnt_day', 'item_price', train_filtered, kind='scatter')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>885138</th>\n",
       "      <td>17.09.2013</td>\n",
       "      <td>8</td>\n",
       "      <td>12</td>\n",
       "      <td>11365</td>\n",
       "      <td>59200.000000</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1006638</th>\n",
       "      <td>24.10.2013</td>\n",
       "      <td>9</td>\n",
       "      <td>12</td>\n",
       "      <td>7238</td>\n",
       "      <td>42000.000000</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1163158</th>\n",
       "      <td>13.12.2013</td>\n",
       "      <td>11</td>\n",
       "      <td>12</td>\n",
       "      <td>6066</td>\n",
       "      <td>307980.000000</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1488135</th>\n",
       "      <td>20.03.2014</td>\n",
       "      <td>14</td>\n",
       "      <td>25</td>\n",
       "      <td>13199</td>\n",
       "      <td>50999.000000</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1501160</th>\n",
       "      <td>15.03.2014</td>\n",
       "      <td>14</td>\n",
       "      <td>24</td>\n",
       "      <td>20949</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>405.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1573252</th>\n",
       "      <td>23.04.2014</td>\n",
       "      <td>15</td>\n",
       "      <td>27</td>\n",
       "      <td>8057</td>\n",
       "      <td>1200.000000</td>\n",
       "      <td>401.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1573253</th>\n",
       "      <td>22.04.2014</td>\n",
       "      <td>15</td>\n",
       "      <td>27</td>\n",
       "      <td>8057</td>\n",
       "      <td>1200.000000</td>\n",
       "      <td>502.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1708207</th>\n",
       "      <td>28.06.2014</td>\n",
       "      <td>17</td>\n",
       "      <td>25</td>\n",
       "      <td>20949</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>501.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2048518</th>\n",
       "      <td>02.10.2014</td>\n",
       "      <td>21</td>\n",
       "      <td>12</td>\n",
       "      <td>9242</td>\n",
       "      <td>1500.000000</td>\n",
       "      <td>512.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2067667</th>\n",
       "      <td>04.10.2014</td>\n",
       "      <td>21</td>\n",
       "      <td>55</td>\n",
       "      <td>19437</td>\n",
       "      <td>899.000000</td>\n",
       "      <td>401.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2067669</th>\n",
       "      <td>09.10.2014</td>\n",
       "      <td>21</td>\n",
       "      <td>55</td>\n",
       "      <td>19437</td>\n",
       "      <td>899.000000</td>\n",
       "      <td>508.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2067677</th>\n",
       "      <td>09.10.2014</td>\n",
       "      <td>21</td>\n",
       "      <td>55</td>\n",
       "      <td>19445</td>\n",
       "      <td>1249.000000</td>\n",
       "      <td>412.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2143903</th>\n",
       "      <td>20.11.2014</td>\n",
       "      <td>22</td>\n",
       "      <td>12</td>\n",
       "      <td>14173</td>\n",
       "      <td>40900.000000</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2257299</th>\n",
       "      <td>19.12.2014</td>\n",
       "      <td>23</td>\n",
       "      <td>12</td>\n",
       "      <td>20949</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>500.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2326930</th>\n",
       "      <td>15.01.2015</td>\n",
       "      <td>24</td>\n",
       "      <td>12</td>\n",
       "      <td>20949</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>1000.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2327159</th>\n",
       "      <td>29.01.2015</td>\n",
       "      <td>24</td>\n",
       "      <td>12</td>\n",
       "      <td>7241</td>\n",
       "      <td>49782.000000</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2608040</th>\n",
       "      <td>14.04.2015</td>\n",
       "      <td>27</td>\n",
       "      <td>12</td>\n",
       "      <td>3731</td>\n",
       "      <td>1904.548077</td>\n",
       "      <td>624.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2625847</th>\n",
       "      <td>19.05.2015</td>\n",
       "      <td>28</td>\n",
       "      <td>12</td>\n",
       "      <td>10209</td>\n",
       "      <td>1499.000000</td>\n",
       "      <td>480.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2626181</th>\n",
       "      <td>19.05.2015</td>\n",
       "      <td>28</td>\n",
       "      <td>12</td>\n",
       "      <td>11373</td>\n",
       "      <td>155.192950</td>\n",
       "      <td>539.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2851073</th>\n",
       "      <td>29.09.2015</td>\n",
       "      <td>32</td>\n",
       "      <td>55</td>\n",
       "      <td>9249</td>\n",
       "      <td>1500.000000</td>\n",
       "      <td>533.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2851091</th>\n",
       "      <td>30.09.2015</td>\n",
       "      <td>32</td>\n",
       "      <td>55</td>\n",
       "      <td>9249</td>\n",
       "      <td>1702.825746</td>\n",
       "      <td>637.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2864235</th>\n",
       "      <td>30.09.2015</td>\n",
       "      <td>32</td>\n",
       "      <td>12</td>\n",
       "      <td>9248</td>\n",
       "      <td>1692.526158</td>\n",
       "      <td>669.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2864260</th>\n",
       "      <td>29.09.2015</td>\n",
       "      <td>32</td>\n",
       "      <td>12</td>\n",
       "      <td>9248</td>\n",
       "      <td>1500.000000</td>\n",
       "      <td>504.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2885692</th>\n",
       "      <td>23.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>42</td>\n",
       "      <td>13403</td>\n",
       "      <td>42990.000000</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2893100</th>\n",
       "      <td>20.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>38</td>\n",
       "      <td>13403</td>\n",
       "      <td>41990.000000</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2909401</th>\n",
       "      <td>14.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>12</td>\n",
       "      <td>20949</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>500.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2909818</th>\n",
       "      <td>28.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>12</td>\n",
       "      <td>11373</td>\n",
       "      <td>0.908714</td>\n",
       "      <td>2169.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2910155</th>\n",
       "      <td>20.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>12</td>\n",
       "      <td>13403</td>\n",
       "      <td>41990.000000</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2910156</th>\n",
       "      <td>29.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>12</td>\n",
       "      <td>13403</td>\n",
       "      <td>42990.000000</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2913267</th>\n",
       "      <td>22.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>18</td>\n",
       "      <td>13403</td>\n",
       "      <td>41990.000000</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2917760</th>\n",
       "      <td>20.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>3</td>\n",
       "      <td>13403</td>\n",
       "      <td>42990.000000</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2927572</th>\n",
       "      <td>22.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>28</td>\n",
       "      <td>13403</td>\n",
       "      <td>40991.000000</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2931380</th>\n",
       "      <td>20.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>22</td>\n",
       "      <td>13403</td>\n",
       "      <td>42990.000000</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               date  date_block_num  shop_id  item_id     item_price  \\\n",
       "885138   17.09.2013               8       12    11365   59200.000000   \n",
       "1006638  24.10.2013               9       12     7238   42000.000000   \n",
       "1163158  13.12.2013              11       12     6066  307980.000000   \n",
       "1488135  20.03.2014              14       25    13199   50999.000000   \n",
       "1501160  15.03.2014              14       24    20949       5.000000   \n",
       "1573252  23.04.2014              15       27     8057    1200.000000   \n",
       "1573253  22.04.2014              15       27     8057    1200.000000   \n",
       "1708207  28.06.2014              17       25    20949       5.000000   \n",
       "2048518  02.10.2014              21       12     9242    1500.000000   \n",
       "2067667  04.10.2014              21       55    19437     899.000000   \n",
       "2067669  09.10.2014              21       55    19437     899.000000   \n",
       "2067677  09.10.2014              21       55    19445    1249.000000   \n",
       "2143903  20.11.2014              22       12    14173   40900.000000   \n",
       "2257299  19.12.2014              23       12    20949       4.000000   \n",
       "2326930  15.01.2015              24       12    20949       4.000000   \n",
       "2327159  29.01.2015              24       12     7241   49782.000000   \n",
       "2608040  14.04.2015              27       12     3731    1904.548077   \n",
       "2625847  19.05.2015              28       12    10209    1499.000000   \n",
       "2626181  19.05.2015              28       12    11373     155.192950   \n",
       "2851073  29.09.2015              32       55     9249    1500.000000   \n",
       "2851091  30.09.2015              32       55     9249    1702.825746   \n",
       "2864235  30.09.2015              32       12     9248    1692.526158   \n",
       "2864260  29.09.2015              32       12     9248    1500.000000   \n",
       "2885692  23.10.2015              33       42    13403   42990.000000   \n",
       "2893100  20.10.2015              33       38    13403   41990.000000   \n",
       "2909401  14.10.2015              33       12    20949       4.000000   \n",
       "2909818  28.10.2015              33       12    11373       0.908714   \n",
       "2910155  20.10.2015              33       12    13403   41990.000000   \n",
       "2910156  29.10.2015              33       12    13403   42990.000000   \n",
       "2913267  22.10.2015              33       18    13403   41990.000000   \n",
       "2917760  20.10.2015              33        3    13403   42990.000000   \n",
       "2927572  22.10.2015              33       28    13403   40991.000000   \n",
       "2931380  20.10.2015              33       22    13403   42990.000000   \n",
       "\n",
       "         item_cnt_day  \n",
       "885138            1.0  \n",
       "1006638           1.0  \n",
       "1163158           1.0  \n",
       "1488135           1.0  \n",
       "1501160         405.0  \n",
       "1573252         401.0  \n",
       "1573253         502.0  \n",
       "1708207         501.0  \n",
       "2048518         512.0  \n",
       "2067667         401.0  \n",
       "2067669         508.0  \n",
       "2067677         412.0  \n",
       "2143903           1.0  \n",
       "2257299         500.0  \n",
       "2326930        1000.0  \n",
       "2327159           1.0  \n",
       "2608040         624.0  \n",
       "2625847         480.0  \n",
       "2626181         539.0  \n",
       "2851073         533.0  \n",
       "2851091         637.0  \n",
       "2864235         669.0  \n",
       "2864260         504.0  \n",
       "2885692           1.0  \n",
       "2893100           1.0  \n",
       "2909401         500.0  \n",
       "2909818        2169.0  \n",
       "2910155           1.0  \n",
       "2910156           1.0  \n",
       "2913267           1.0  \n",
       "2917760           1.0  \n",
       "2927572           1.0  \n",
       "2931380           1.0  "
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "outer = train[(train['item_cnt_day'] > 400) | (train['item_price'] > 40000)]\n",
    "outer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda3\\lib\\site-packages\\matplotlib\\cbook\\__init__.py:2064: FutureWarning: Support for multi-dimensional indexing (e.g. `obj[:, None]`) is deprecated and will be removed in a future version.  Convert to a numpy array before indexing instead.\n",
      "  x[:, None]\n",
      "D:\\anaconda3\\lib\\site-packages\\matplotlib\\axes\\_base.py:248: FutureWarning: Support for multi-dimensional indexing (e.g. `obj[:, None]`) is deprecated and will be removed in a future version.  Convert to a numpy array before indexing instead.\n",
      "  x = x[:, np.newaxis]\n",
      "D:\\anaconda3\\lib\\site-packages\\matplotlib\\axes\\_base.py:250: FutureWarning: Support for multi-dimensional indexing (e.g. `obj[:, None]`) is deprecated and will be removed in a future version.  Convert to a numpy array before indexing instead.\n",
      "  y = y[:, np.newaxis]\n"
     ]
    },
    {
     "data": {
      "image/png": "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BQx3YEWN4c4lcu0LQfc1b96HjB49ntjYOADq1q3HrFnvERkZSVbWUbKysqhatSoAn3++kK5dL6Vnz9/vKT906BD5+Xl06NARgIsv7sr3368kPz+fzZud9OjRG4B69epTo0YN1q//JehcA6ViTUREREIqYseiE5Y+T8awPERsD34lasKESSec6elwOPjkkw+54Ya/ERMTS4sWJgADB95M//7XFImtWbMmVapE+g95//LLz3C5XBw5chjTNFm8+HMAtm37je3bt5GRkRF0roFSsSYiIiKh5SrhUmExy6XBuPrqa/n008XExMQwc+arJ40zDIMpU6byxhszueWWgWRlHaVGjRo4HGHcdddodu/exc0338h7782hQ4eOhJ2Gs7G0dUcp2LHhtgJcCrXAjj3kOYmIiFQ4jiolK8AckWXW9f79qezfn0rbtu1xOBz06nUFH30099TdOxy88IK3oMvMPEhS0utUr16d/ftTGT/+QaKiogEYNOgG6tWrX2a5noxm1krhmip9vH9YFuesP8Z/7t/JN5euZ03nX/jm0vU8OXEnbTYc8z/Vcl1kn3LMVkREpHzkNe6DZQRWcliGjbwmZffvZXZ2FpMnT+Lo0aNYlsXSpYs599z2p/zM448/wq+/bgBgzpy36NGjNzabjblz3+Gjj94H4LvvvsXjcdO8+dllluvJaGatFCbE3cnH2z/lkUdS6L78COF5Fnbf08CRuRa9vjpC12+OsrRrdf797waMix1ZvgmLiIiUg5wOdxG+4zMM17Hig+1VyDmv7PYlbdq0OYMGJXLHHbdit9tp2/Y8BgwYdMrP/OtfE3jqqcfJzc2lWbMW3H//JAAGD76Fhx+eyKJFnxIVFc1jjz2FzRb6eS/jj3uNVCKNge0ZGVl4POXzHX7J2cieYdfT9etDROadPIecCIPll9ak3oz3ObdKq9OYYcUWF1eNAweOlncaFZ7GKTAap8BonAKjcQpMWloK8fENig+0LKp9dptvn7WTL4d6HJHkN72Ko1e8XulPMkhN3UlCQiPA+3vKyMgiJqYqQBNgR0mupWXQUliyYjpdl526UAOIzLPouuwQS1a8dJoyExERqUAMg6OXvUJ+06vwOKJOWBK1DBuWI8pbqF32SqUv1MqalkFLodXMrwgvplA7LjzPouXML6F3iJMSERGpiOxhHL3idRz7fyh0NmgOOCLJ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Wgosy+Lm4ms4Pu9IcqycXlOiNlZXULu5+BotiCsiIiJJ0/5HKQpZQW4t/h7LIg4PNTzOora36DARsq0sjss9ggvGf4n9sjWiJiIiIoOjsDYELMti/+w53DHxBkDbb4iIiMjQ0TSoiIiISAZTWBMRERHJYAprIiIiIhlMYU1EREQkgymsiYiIiGQwhTURERGRDKawJiIiIpLBFNZEREREMpjCmoiIiEgGU1gTERERyWAKayIiIiIZTGFNREREJIMprImIiIhkMIU1ERERkQymsCYiIiKSwRTWRERERDKYwpqIiIhIBlNYExEREclgCmsiIiIiGUxhTURERCSDKayJiIiIZDCFNREREZEMprAmIiIiksEU1kREREQymMKaiIiISAZTWBMRERHJYAprIiIiIhlMYU1EREQkgymsiYiIiGQwhTURERGRDKawJiIiIpLBFNZEREREMpjCmoiIiEgGU1gTERERyWAKayIiIiIZTGFNREREJIMprImIiIhkMIU1ERERkQymsCYiIiKSwRTWRERERDKYwpqIiIhIBlNYExEREclgCmsiIiIiGUxhTURERCSDKayJiIiIZDCFNREREZEMprAmIiIiksEU1kREREQymMKaiIiISAZTWBMRERHJYAprIiIiIhlMYU1EREQkgymsiYiIiGQwhTURERGRDKawJiIiIpLBFNZEREREMpjCmoiIiEgGU1gTERERyWAKayIiIiIZTGFNREREJIMprImIiIhkMIU1ERERkQymsCYiIiKSwYJ+KoXD4ZuAsxP/+YzjONeEw+GTgF8CucBjjuPckKh7IPBHYBywELjUcZxYOByeBjwMlAAOcJ7jOM3hcHg88GdgFlALnO04TvWQPUMRERGR3diAI2uJUHYKcBBwIHBIOBz+CnA/8DlgLvCJcDh8WuIuDwNXOI6zN2AB30yU/w74neM4c4B3gRsT5bcAixzHmQvcC/x6KJ6YiIiIyGjgZxp0M/Bdx3EijuNEgRXA3sBqx3HKHceJEQ9oZ4XD4elAruM4bybuOz9RHgKOAx7vXp749+nER9YA/gKclqgvIiIi8rE3YFhzHGd5Z/gKh8OziU+HesRDXKfNQBkwuZ/yIqApEey6l9P9Ponbm4DiQT4fERERkVHF1zlrAOFweF/gGeBqIEZ8dK2TRTzA2YDxUU6ivLNOd1a32wZUWDjGb9Vh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",
      "text/plain": [
       "<Figure size 720x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "outer_set = train_filtered[train_filtered['item_id'].isin(outer['item_id'].unique())].groupby('item_id')\n",
    " \n",
    "fig, ax = plt.subplots(1,1,figsize=(10, 10))\n",
    "colors = sns.color_palette() + sns.color_palette('bright')  # 使用调色板。默认颜色只有10来种，会重复使用，不便于观察\n",
    "i = 1\n",
    "for name, group in outer_set:\n",
    "    ax.plot(group['item_cnt_day'], group['item_price'], marker='o', linestyle='', ms=12, label=name, c=colors[i])\n",
    "    i += 1\n",
    "ax.legend()\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1006638</th>\n",
       "      <td>24.10.2013</td>\n",
       "      <td>9</td>\n",
       "      <td>12</td>\n",
       "      <td>7238</td>\n",
       "      <td>42000.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2143903</th>\n",
       "      <td>20.11.2014</td>\n",
       "      <td>22</td>\n",
       "      <td>12</td>\n",
       "      <td>14173</td>\n",
       "      <td>40900.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2885692</th>\n",
       "      <td>23.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>42</td>\n",
       "      <td>13403</td>\n",
       "      <td>42990.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2885693</th>\n",
       "      <td>25.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>42</td>\n",
       "      <td>13403</td>\n",
       "      <td>28992.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2885694</th>\n",
       "      <td>29.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>42</td>\n",
       "      <td>13403</td>\n",
       "      <td>37991.0</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2890617</th>\n",
       "      <td>26.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>31</td>\n",
       "      <td>13403</td>\n",
       "      <td>35991.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2893100</th>\n",
       "      <td>20.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>38</td>\n",
       "      <td>13403</td>\n",
       "      <td>41990.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2910155</th>\n",
       "      <td>20.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>12</td>\n",
       "      <td>13403</td>\n",
       "      <td>41990.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2910156</th>\n",
       "      <td>29.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>12</td>\n",
       "      <td>13403</td>\n",
       "      <td>42990.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2913267</th>\n",
       "      <td>22.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>18</td>\n",
       "      <td>13403</td>\n",
       "      <td>41990.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2917760</th>\n",
       "      <td>20.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>3</td>\n",
       "      <td>13403</td>\n",
       "      <td>42990.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2927572</th>\n",
       "      <td>22.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>28</td>\n",
       "      <td>13403</td>\n",
       "      <td>40991.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2931380</th>\n",
       "      <td>20.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>22</td>\n",
       "      <td>13403</td>\n",
       "      <td>42990.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2932637</th>\n",
       "      <td>26.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>25</td>\n",
       "      <td>13403</td>\n",
       "      <td>37991.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               date  date_block_num  shop_id  item_id  item_price  \\\n",
       "1006638  24.10.2013               9       12     7238     42000.0   \n",
       "2143903  20.11.2014              22       12    14173     40900.0   \n",
       "2885692  23.10.2015              33       42    13403     42990.0   \n",
       "2885693  25.10.2015              33       42    13403     28992.0   \n",
       "2885694  29.10.2015              33       42    13403     37991.0   \n",
       "2890617  26.10.2015              33       31    13403     35991.0   \n",
       "2893100  20.10.2015              33       38    13403     41990.0   \n",
       "2910155  20.10.2015              33       12    13403     41990.0   \n",
       "2910156  29.10.2015              33       12    13403     42990.0   \n",
       "2913267  22.10.2015              33       18    13403     41990.0   \n",
       "2917760  20.10.2015              33        3    13403     42990.0   \n",
       "2927572  22.10.2015              33       28    13403     40991.0   \n",
       "2931380  20.10.2015              33       22    13403     42990.0   \n",
       "2932637  26.10.2015              33       25    13403     37991.0   \n",
       "\n",
       "         item_cnt_day  \n",
       "1006638           1.0  \n",
       "2143903           1.0  \n",
       "2885692           1.0  \n",
       "2885693           1.0  \n",
       "2885694           2.0  \n",
       "2890617           1.0  \n",
       "2893100           1.0  \n",
       "2910155           1.0  \n",
       "2910156           1.0  \n",
       "2913267           1.0  \n",
       "2917760           1.0  \n",
       "2927572           1.0  \n",
       "2931380           1.0  \n",
       "2932637           1.0  "
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train[train['item_id'].isin([13403,7238, 14173])]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x13926c75400>"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train.loc[train['item_id']==13403].boxplot(['item_cnt_day', 'item_price'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 2016x432 with 7 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "m_400 = train[(train['item_cnt_day'] > 400) & (train['item_cnt_day'] < 520)]['item_id'].unique()\n",
    "n = m_400.size\n",
    "fig, axes = plt.subplots(1,n,figsize=(n*4, 6))\n",
    "for i in range(n):\n",
    "    train[train['item_id'] == m_400[i]].boxplot(['item_cnt_day'], ax=axes[i])\n",
    "    axes[i].set_title('Item%d' % m_400[i])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>02.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>999.00</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.00</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>05.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.00</td>\n",
       "      <td>-1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>06.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2554</td>\n",
       "      <td>1709.05</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>15.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2555</td>\n",
       "      <td>1099.00</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         date  date_block_num  shop_id  item_id  item_price  item_cnt_day\n",
       "0  02.01.2013               0       59    22154      999.00           1.0\n",
       "1  03.01.2013               0       25     2552      899.00           1.0\n",
       "2  05.01.2013               0       25     2552      899.00          -1.0\n",
       "3  06.01.2013               0       25     2554     1709.05           1.0\n",
       "4  15.01.2013               0       25     2555     1099.00           1.0"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "filtered = train[(train['item_cnt_day'] < 400) & (train['item_price'] < 45000)].copy()\n",
    "filtered.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "filtered.drop(index=filtered[filtered['item_id'].isin([7238, 14173])].index, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "30"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "del train, train_filtered\n",
    "gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "date_block_num    False\n",
       "shop_id           False\n",
       "item_id           False\n",
       "item_price         True\n",
       "dtype: bool"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(filtered[['date_block_num', 'shop_id','item_id', 'item_price']] < 0).any()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>484683</th>\n",
       "      <td>15.05.2013</td>\n",
       "      <td>4</td>\n",
       "      <td>32</td>\n",
       "      <td>2973</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              date  date_block_num  shop_id  item_id  item_price  item_cnt_day\n",
       "484683  15.05.2013               4       32     2973        -1.0           1.0"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 商品单价小于0的情况\n",
    "filtered[filtered['item_price'] <= 0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1249.0"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "filtered.groupby(['date_block_num','shop_id', 'item_id'])['item_price'].mean().loc[4, 32, 2973]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [date, date_block_num, shop_id, item_id, item_price, item_cnt_day]\n",
       "Index: []"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "filtered.loc[filtered['item_price'] <= 0, 'item_price'] = 1249.0  # 用了同一个月同一个商店该商品的均价\n",
    "filtered[filtered['item_price'] <= 0]  # 检查是否替换成功"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 下面也给出替换的函数\n",
    "def clean_by_mean(df, keys, col):\n",
    "    \"\"\"\n",
    "    用同一月份的均值替换小于等于0的值\n",
    "    keys 分组键；col 需要替换的字段\n",
    "    \"\"\"\n",
    "    group = df[df[col] <= 0]\n",
    "    # group = df[df['item_price'] <= 0]\n",
    "    mean_price = df.groupby(keys)[col].mean()\n",
    "    # mean_price = df.groupby(['date_block_num', 'shop_id', 'item_id'])['item_price'].mean()\n",
    "    for i, row in group.iterrows:\n",
    "        record = group.loc[i]\n",
    "        df.loc[i,col] = mean_price.loc[record[keys[0]], record[keys[1]], record[keys[2]]]\n",
    "        # df.loc[i,'item_price'] = mean_price.loc[record['date_block_num'], record['shop_id'], record['item_id']]\n",
    "    return df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "      <th>turnover_day</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>02.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>999.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>999.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>899.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>05.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.00</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>-899.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>06.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2554</td>\n",
       "      <td>1709.05</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1709.05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>15.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2555</td>\n",
       "      <td>1099.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1099.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2935844</th>\n",
       "      <td>10.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>25</td>\n",
       "      <td>7409</td>\n",
       "      <td>299.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>299.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2935845</th>\n",
       "      <td>09.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>25</td>\n",
       "      <td>7460</td>\n",
       "      <td>299.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>299.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2935846</th>\n",
       "      <td>14.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>25</td>\n",
       "      <td>7459</td>\n",
       "      <td>349.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>349.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2935847</th>\n",
       "      <td>22.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>25</td>\n",
       "      <td>7440</td>\n",
       "      <td>299.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>299.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2935848</th>\n",
       "      <td>03.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>25</td>\n",
       "      <td>7460</td>\n",
       "      <td>299.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>299.00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2935824 rows × 7 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "               date  date_block_num  shop_id  item_id  item_price  \\\n",
       "0        02.01.2013               0       59    22154      999.00   \n",
       "1        03.01.2013               0       25     2552      899.00   \n",
       "2        05.01.2013               0       25     2552      899.00   \n",
       "3        06.01.2013               0       25     2554     1709.05   \n",
       "4        15.01.2013               0       25     2555     1099.00   \n",
       "...             ...             ...      ...      ...         ...   \n",
       "2935844  10.10.2015              33       25     7409      299.00   \n",
       "2935845  09.10.2015              33       25     7460      299.00   \n",
       "2935846  14.10.2015              33       25     7459      349.00   \n",
       "2935847  22.10.2015              33       25     7440      299.00   \n",
       "2935848  03.10.2015              33       25     7460      299.00   \n",
       "\n",
       "         item_cnt_day  turnover_day  \n",
       "0                 1.0        999.00  \n",
       "1                 1.0        899.00  \n",
       "2                -1.0       -899.00  \n",
       "3                 1.0       1709.05  \n",
       "4                 1.0       1099.00  \n",
       "...               ...           ...  \n",
       "2935844           1.0        299.00  \n",
       "2935845           1.0        299.00  \n",
       "2935846           1.0        349.00  \n",
       "2935847           1.0        299.00  \n",
       "2935848           1.0        299.00  \n",
       "\n",
       "[2935824 rows x 7 columns]"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 添加日营业额\n",
    "filtered['turnover_day'] = filtered['item_price'] * filtered['item_cnt_day']\n",
    "filtered"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>item_id</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>9</th>\n",
       "      <th>...</th>\n",
       "      <th>22160</th>\n",
       "      <th>22161</th>\n",
       "      <th>22162</th>\n",
       "      <th>22163</th>\n",
       "      <th>22164</th>\n",
       "      <th>22165</th>\n",
       "      <th>22166</th>\n",
       "      <th>22167</th>\n",
       "      <th>22168</th>\n",
       "      <th>22169</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_block_num</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 21796 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "item_id         0      1      2      3      4      5      6      7      8      \\\n",
       "date_block_num                                                                  \n",
       "0                   0      0      0      0      0      0      0      0      0   \n",
       "1                   0      0      0      0      0      0      0      0      0   \n",
       "2                   0      0      0      0      0      0      0      0      0   \n",
       "3                   0      0      0      0      0      0      0      0      0   \n",
       "4                   0      0      0      0      0      0      0      0      0   \n",
       "\n",
       "item_id         9      ...  22160  22161  22162  22163  22164  22165  22166  \\\n",
       "date_block_num         ...                                                    \n",
       "0                   0  ...     11      0      0      0      0      0      0   \n",
       "1                   0  ...      7      0      0      0      0      0      0   \n",
       "2                   0  ...      6      0      0      0      0      0      0   \n",
       "3                   0  ...      2      0      0      0      0      0      0   \n",
       "4                   0  ...      6      1      0      0      0      0      0   \n",
       "\n",
       "item_id         22167  22168  22169  \n",
       "date_block_num                       \n",
       "0                   0      2      0  \n",
       "1                   0      2      0  \n",
       "2                   0      1      0  \n",
       "3                   0      0      0  \n",
       "4                   0      0      0  \n",
       "\n",
       "[5 rows x 21796 columns]"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "item_sales_monthly = filtered.pivot_table(columns='item_id',\n",
    "                                          index='date_block_num', \n",
    "                                          values='item_cnt_day',\n",
    "                                          fill_value=0,\n",
    "                                          aggfunc=sum)\n",
    "item_sales_monthly.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1440x576 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(1,2, figsize=(20, 8))\n",
    "\n",
    "item_sales_monthly.sum(1).plot(ax=axes[0], title='Total sales of each month', xticks=[i for i in range(0,34,2)])  # 每月总销量\n",
    "item_sales_monthly.sum(0).plot(ax=axes[1], title='Total sales of each item')  # 每个商品的总销量\n",
    "plt.subplots_adjust(wspace=0.2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "item_id\n",
       "20949    184736\n",
       "2808      17245\n",
       "3732      16642\n",
       "17717     15830\n",
       "5822      14515\n",
       "          ...  \n",
       "8515          0\n",
       "11871        -1\n",
       "18062        -1\n",
       "13474        -1\n",
       "1590        -11\n",
       "Length: 21796, dtype: int64"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "top_sales = item_sales_monthly.sum().sort_values(ascending=False)\n",
    "top_sales"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ID</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [ID, shop_id, item_id]\n",
       "Index: []"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test[test['item_id'].isin(top_sales[top_sales<=0].index)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5.0801850069973"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "top_sales.iloc[0] / item_sales_monthly.sum().sum() * 100  # 销量占比"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x13926e0e748>"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "item_sales_monthly[top_sales.index[0]].plot(kind='bar', figsize=(12,6))  # 每月销量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>item_id</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>9</th>\n",
       "      <th>...</th>\n",
       "      <th>22160</th>\n",
       "      <th>22161</th>\n",
       "      <th>22162</th>\n",
       "      <th>22163</th>\n",
       "      <th>22164</th>\n",
       "      <th>22165</th>\n",
       "      <th>22166</th>\n",
       "      <th>22167</th>\n",
       "      <th>22168</th>\n",
       "      <th>22169</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_block_num</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1477</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1598.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>962</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1598.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>894</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>798.5</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>298</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>894</td>\n",
       "      <td>58</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 21796 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "item_id         0      1      2      3      4      5      6      7      8      \\\n",
       "date_block_num                                                                  \n",
       "0                   0      0      0      0      0      0      0      0      0   \n",
       "1                   0      0      0      0      0      0      0      0      0   \n",
       "2                   0      0      0      0      0      0      0      0      0   \n",
       "3                   0      0      0      0      0      0      0      0      0   \n",
       "4                   0      0      0      0      0      0      0      0      0   \n",
       "\n",
       "item_id         9      ...  22160  22161  22162  22163  22164  22165  22166  \\\n",
       "date_block_num         ...                                                    \n",
       "0                   0  ...   1477      0    0.0    0.0    0.0      0      0   \n",
       "1                   0  ...    962      0    0.0    0.0    0.0      0      0   \n",
       "2                   0  ...    894      0    0.0    0.0    0.0      0      0   \n",
       "3                   0  ...    298      0    0.0    0.0    0.0      0      0   \n",
       "4                   0  ...    894     58    0.0    0.0    0.0      0      0   \n",
       "\n",
       "item_id         22167   22168  22169  \n",
       "date_block_num                        \n",
       "0                 0.0  1598.0      0  \n",
       "1                 0.0  1598.0      0  \n",
       "2                 0.0   798.5      0  \n",
       "3                 0.0     0.0      0  \n",
       "4                 0.0     0.0      0  \n",
       "\n",
       "[5 rows x 21796 columns]"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "item_turnover_monthly = filtered.pivot_table(index= 'date_block_num',\n",
    "                                               columns= 'item_id',\n",
    "                                               values='turnover_day',\n",
    "                                               fill_value=0,\n",
    "                                               aggfunc=sum)\n",
    "item_turnover_monthly.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [],
   "source": [
    "item_sales_monthly = item_sales_monthly.drop(columns=top_sales[top_sales<=0].index, axis=1)  # 去掉销量为0和负值的商品\n",
    "item_turnover_monthly = item_turnover_monthly.drop(columns=top_sales[top_sales<=0].index, axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.02703470087824863"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "total_turnover = item_turnover_monthly.sum().sum()\n",
    "item_turnover_monthly[top_sales.index[0]].sum() / total_turnover * 100"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_name</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>20949</th>\n",
       "      <td>Фирменныйпакетмайка1СИнтересбелый(34*42)45мкм</td>\n",
       "      <td>20949</td>\n",
       "      <td>71</td>\n",
       "      <td>13</td>\n",
       "      <td>54</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                           item_name  item_id  \\\n",
       "20949  Фирменныйпакетмайка1СИнтересбелый(34*42)45мкм    20949   \n",
       "\n",
       "       item_category_id  item_type_code  sub_type_code  \n",
       "20949                71              13             54  "
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "items[items['item_id']==20949 ]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x139262484a8>"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "(item_sales_monthly > 0).sum(1).plot(figsize=(12, 6))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x13926d72358>"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "item_sales_monthly.sum(1).div((item_sales_monthly > 0).sum(1)).plot(figsize=(12, 6))\n",
    "# 商品月总销量 / 当月在售商品数量 = 当月在售商品平均销量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1440x576 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(1,2, figsize=(20, 8))\n",
    "item_turnover_monthly.sum(1).plot(ax=axes[0], title='Total turnovers of each month', xticks=[i for i in range(0,34,2)])  # 每月总营收\n",
    "item_turnover_monthly.sum(0).plot(ax=axes[1], title='Total turnovers of each item')  # 每个商品的总营收\n",
    "plt.subplots_adjust(wspace=0.2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x13924c84b00>"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 4.5\n",
    "filtered.groupby('shop_id')['item_cnt_day'].sum().sort_values().plot(kind='bar', figsize=(12, 6))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x13924cb3630>"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "filtered.groupby('shop_id')['turnover_day'].sum().sort_values().plot(kind='bar', figsize=(12, 6))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>shop_name</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>shop_city</th>\n",
       "      <th>shop_type</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>shop_type_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>Москва ТРК \"Атриум\"</td>\n",
       "      <td>25</td>\n",
       "      <td>Москва</td>\n",
       "      <td>ТРК</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>Москва ТЦ \"МЕГА Теплый Стан\" II</td>\n",
       "      <td>28</td>\n",
       "      <td>Москва</td>\n",
       "      <td>ТЦ</td>\n",
       "      <td>14</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>Москва ТЦ \"Семеновский\"</td>\n",
       "      <td>31</td>\n",
       "      <td>Москва</td>\n",
       "      <td>ТЦ</td>\n",
       "      <td>14</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54</th>\n",
       "      <td>Химки ТЦ \"Мега\"</td>\n",
       "      <td>54</td>\n",
       "      <td>Химки</td>\n",
       "      <td>ТЦ</td>\n",
       "      <td>27</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                          shop_name  shop_id shop_city shop_type  \\\n",
       "25              Москва ТРК \"Атриум\"       25    Москва       ТРК   \n",
       "28  Москва ТЦ \"МЕГА Теплый Стан\" II       28    Москва        ТЦ   \n",
       "31          Москва ТЦ \"Семеновский\"       31    Москва        ТЦ   \n",
       "54                  Химки ТЦ \"Мега\"       54     Химки        ТЦ   \n",
       "\n",
       "    shop_city_code  shop_type_code  \n",
       "25              14               2  \n",
       "28              14               1  \n",
       "31              14               1  \n",
       "54              27               1  "
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "shops[shops['shop_id'].isin([31, 25, 54, 28])]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "      <th>turnover_day</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>02.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>999.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>999.00</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>899.00</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>05.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.00</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>-899.00</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>06.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2554</td>\n",
       "      <td>1709.05</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1709.05</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>15.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2555</td>\n",
       "      <td>1099.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1099.00</td>\n",
       "      <td>56</td>\n",
       "      <td>12</td>\n",
       "      <td>39</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         date  date_block_num  shop_id  item_id  item_price  item_cnt_day  \\\n",
       "0  02.01.2013               0       59    22154      999.00           1.0   \n",
       "1  03.01.2013               0       25     2552      899.00           1.0   \n",
       "2  05.01.2013               0       25     2552      899.00          -1.0   \n",
       "3  06.01.2013               0       25     2554     1709.05           1.0   \n",
       "4  15.01.2013               0       25     2555     1099.00           1.0   \n",
       "\n",
       "   turnover_day  item_category_id  item_type_code  sub_type_code  \n",
       "0        999.00                37              10             21  \n",
       "1        899.00                58              12             41  \n",
       "2       -899.00                58              12             41  \n",
       "3       1709.05                58              12             41  \n",
       "4       1099.00                56              12             39  "
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "filtered = filtered.merge(items.iloc[:,1:], on='item_id', how='left')\n",
    "filtered.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x13924d51b38>"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1152x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "filtered.groupby('item_category_id')['turnover_day'].sum().sort_values().plot(kind='bar',figsize=(16,6), rot=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x13927487710>"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "filtered.groupby('item_type_code')['turnover_day'].sum().sort_values().plot(kind='bar',figsize=(12,6), rot=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x139261d56a0>"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "filtered.groupby('sub_type_code')['item_cnt_day'].sum().sort_values().plot(kind='bar',figsize=(12,6), rot=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "      <th>turnover_day</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>shop_type_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>02.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>999.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>999.00</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>29</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>899.00</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>05.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.00</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>-899.00</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>06.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2554</td>\n",
       "      <td>1709.05</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1709.05</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>15.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2555</td>\n",
       "      <td>1099.00</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1099.00</td>\n",
       "      <td>56</td>\n",
       "      <td>12</td>\n",
       "      <td>39</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         date  date_block_num  shop_id  item_id  item_price  item_cnt_day  \\\n",
       "0  02.01.2013               0       59    22154      999.00           1.0   \n",
       "1  03.01.2013               0       25     2552      899.00           1.0   \n",
       "2  05.01.2013               0       25     2552      899.00          -1.0   \n",
       "3  06.01.2013               0       25     2554     1709.05           1.0   \n",
       "4  15.01.2013               0       25     2555     1099.00           1.0   \n",
       "\n",
       "   turnover_day  item_category_id  item_type_code  sub_type_code  \\\n",
       "0        999.00                37              10             21   \n",
       "1        899.00                58              12             41   \n",
       "2       -899.00                58              12             41   \n",
       "3       1709.05                58              12             41   \n",
       "4       1099.00                56              12             39   \n",
       "\n",
       "   shop_city_code  shop_type_code  \n",
       "0              29               1  \n",
       "1              14               2  \n",
       "2              14               2  \n",
       "3              14               2  \n",
       "4              14               2  "
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 4.7\n",
    "filtered = filtered.merge(shops[['shop_id','shop_city_code','shop_type_code']], on='shop_id', how='left')\n",
    "filtered.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x13926210ef0>"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "filtered.groupby('shop_city_code')['turnover_day'].sum().plot(kind='bar',figsize=(12,6))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x13927425ef0>"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "filtered.groupby('shop_type_code')['turnover_day'].sum().plot(kind='bar',figsize=(12,6))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x13927bd1fd0>"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "filtered.groupby('shop_city_code')['item_cnt_day'].sum().plot(kind='bar',figsize=(12,6))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x13927bcb748>"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "filtered.groupby('shop_type_code')['item_cnt_day'].sum().plot(kind='bar',figsize=(12,6))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "shop_id\n",
       "2    6\n",
       "3    6\n",
       "4    6\n",
       "5    6\n",
       "6    6\n",
       "dtype: int64"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "shop_sales_monthly = filtered.pivot_table(index='date_block_num',\n",
    "                                          columns='shop_id',\n",
    "                                          values='item_cnt_day',\n",
    "                                          fill_value=0,\n",
    "                                          aggfunc=sum)\n",
    "shop_open_month_cnt = (shop_sales_monthly.iloc[-6:] >  0).sum()  # 有销量的记录\n",
    "shop_open_month_cnt.head()  # 每个店铺最后半年里有几个月有销量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>shop_id</th>\n",
       "      <th>8</th>\n",
       "      <th>9</th>\n",
       "      <th>13</th>\n",
       "      <th>17</th>\n",
       "      <th>20</th>\n",
       "      <th>23</th>\n",
       "      <th>27</th>\n",
       "      <th>29</th>\n",
       "      <th>30</th>\n",
       "      <th>32</th>\n",
       "      <th>33</th>\n",
       "      <th>36</th>\n",
       "      <th>43</th>\n",
       "      <th>51</th>\n",
       "      <th>54</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_block_num</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1199</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4675</td>\n",
       "      <td>1926</td>\n",
       "      <td>2044</td>\n",
       "      <td>0</td>\n",
       "      <td>814</td>\n",
       "      <td>0</td>\n",
       "      <td>2659</td>\n",
       "      <td>1090</td>\n",
       "      <td>6389</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1832</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7896</td>\n",
       "      <td>2402</td>\n",
       "      <td>2700</td>\n",
       "      <td>0</td>\n",
       "      <td>1056</td>\n",
       "      <td>0</td>\n",
       "      <td>3139</td>\n",
       "      <td>1652</td>\n",
       "      <td>7677</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>689</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5660</td>\n",
       "      <td>1564</td>\n",
       "      <td>1842</td>\n",
       "      <td>0</td>\n",
       "      <td>1006</td>\n",
       "      <td>0</td>\n",
       "      <td>1340</td>\n",
       "      <td>976</td>\n",
       "      <td>6043</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3839</td>\n",
       "      <td>1273</td>\n",
       "      <td>745</td>\n",
       "      <td>0</td>\n",
       "      <td>792</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>660</td>\n",
       "      <td>4221</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3634</td>\n",
       "      <td>1239</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>505</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>545</td>\n",
       "      <td>4625</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>0</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3518</td>\n",
       "      <td>1216</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>494</td>\n",
       "      <td>732</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3786</td>\n",
       "      <td>880</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>758</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3357</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>659</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2478</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>748</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>916</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>-1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>624</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>0</td>\n",
       "      <td>3186</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2611</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>330</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "shop_id         8     9   13    17    20  23    27    29    30  32    33   36  \\\n",
       "date_block_num                                                                  \n",
       "22               0     0   0  1199     0   0  4675  1926  2044   0   814    0   \n",
       "23               0     0   0  1832     0   0  7896  2402  2700   0  1056    0   \n",
       "24               0     0   0   689     0   0  5660  1564  1842   0  1006    0   \n",
       "25               0     0   0     0     0   0  3839  1273   745   0   792    0   \n",
       "26               0     0   0     0     0   0  3634  1239     0   0   505    0   \n",
       "27               0    -1   0     0     0   0  3518  1216     0   0    -1    0   \n",
       "28               0     0   0     0     0   0  3786   880     0   0     0    0   \n",
       "29               0     0   0     0     0   0  3357     0     0   0     0    0   \n",
       "30               0     0   0     0     0   0  2478     0     0   0     0    0   \n",
       "31               0     0   0     0     0   0     0     0     0   0     0    0   \n",
       "32               0     0   0     0     0   0    -1     0     0   0     0    0   \n",
       "33               0  3186   0     0  2611   0     0     0     0   0     0  330   \n",
       "\n",
       "shop_id           43    51    54  \n",
       "date_block_num                    \n",
       "22              2659  1090  6389  \n",
       "23              3139  1652  7677  \n",
       "24              1340   976  6043  \n",
       "25                 0   660  4221  \n",
       "26                 0   545  4625  \n",
       "27                 0   494   732  \n",
       "28                 0   758     0  \n",
       "29                 0   659     0  \n",
       "30                 0   748     0  \n",
       "31                 0   916     0  \n",
       "32                 0   624     0  \n",
       "33                 0     0     0  "
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "shop_c_n = shop_sales_monthly[shop_open_month_cnt[shop_open_month_cnt < 6].index]\n",
    "shop_c_n.tail(12)\n",
    "# 最后半年经营月数少于6个月的店铺"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>shop_id</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>10</th>\n",
       "      <th>12</th>\n",
       "      <th>14</th>\n",
       "      <th>15</th>\n",
       "      <th>...</th>\n",
       "      <th>48</th>\n",
       "      <th>49</th>\n",
       "      <th>50</th>\n",
       "      <th>52</th>\n",
       "      <th>53</th>\n",
       "      <th>55</th>\n",
       "      <th>56</th>\n",
       "      <th>57</th>\n",
       "      <th>58</th>\n",
       "      <th>59</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_block_num</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>859</td>\n",
       "      <td>740</td>\n",
       "      <td>899</td>\n",
       "      <td>1054</td>\n",
       "      <td>1998</td>\n",
       "      <td>1340</td>\n",
       "      <td>594</td>\n",
       "      <td>2620</td>\n",
       "      <td>1055</td>\n",
       "      <td>1364</td>\n",
       "      <td>...</td>\n",
       "      <td>1081</td>\n",
       "      <td>542</td>\n",
       "      <td>895</td>\n",
       "      <td>1152</td>\n",
       "      <td>1322</td>\n",
       "      <td>3422</td>\n",
       "      <td>1237</td>\n",
       "      <td>2860</td>\n",
       "      <td>1710</td>\n",
       "      <td>1054</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>843</td>\n",
       "      <td>731</td>\n",
       "      <td>893</td>\n",
       "      <td>1012</td>\n",
       "      <td>1748</td>\n",
       "      <td>1217</td>\n",
       "      <td>466</td>\n",
       "      <td>2930</td>\n",
       "      <td>933</td>\n",
       "      <td>1277</td>\n",
       "      <td>...</td>\n",
       "      <td>1110</td>\n",
       "      <td>692</td>\n",
       "      <td>1073</td>\n",
       "      <td>894</td>\n",
       "      <td>1206</td>\n",
       "      <td>2117</td>\n",
       "      <td>1315</td>\n",
       "      <td>2408</td>\n",
       "      <td>1378</td>\n",
       "      <td>916</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>804</td>\n",
       "      <td>672</td>\n",
       "      <td>793</td>\n",
       "      <td>954</td>\n",
       "      <td>1539</td>\n",
       "      <td>1235</td>\n",
       "      <td>441</td>\n",
       "      <td>1830</td>\n",
       "      <td>1019</td>\n",
       "      <td>1332</td>\n",
       "      <td>...</td>\n",
       "      <td>990</td>\n",
       "      <td>789</td>\n",
       "      <td>900</td>\n",
       "      <td>820</td>\n",
       "      <td>1078</td>\n",
       "      <td>1909</td>\n",
       "      <td>1566</td>\n",
       "      <td>2440</td>\n",
       "      <td>1554</td>\n",
       "      <td>913</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>785</td>\n",
       "      <td>535</td>\n",
       "      <td>842</td>\n",
       "      <td>991</td>\n",
       "      <td>1484</td>\n",
       "      <td>1327</td>\n",
       "      <td>449</td>\n",
       "      <td>1554</td>\n",
       "      <td>954</td>\n",
       "      <td>1316</td>\n",
       "      <td>...</td>\n",
       "      <td>1102</td>\n",
       "      <td>856</td>\n",
       "      <td>1126</td>\n",
       "      <td>828</td>\n",
       "      <td>1257</td>\n",
       "      <td>1658</td>\n",
       "      <td>1491</td>\n",
       "      <td>2352</td>\n",
       "      <td>1689</td>\n",
       "      <td>992</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>942</td>\n",
       "      <td>666</td>\n",
       "      <td>947</td>\n",
       "      <td>1294</td>\n",
       "      <td>1575</td>\n",
       "      <td>1409</td>\n",
       "      <td>442</td>\n",
       "      <td>1471</td>\n",
       "      <td>1061</td>\n",
       "      <td>1360</td>\n",
       "      <td>...</td>\n",
       "      <td>1308</td>\n",
       "      <td>966</td>\n",
       "      <td>1081</td>\n",
       "      <td>932</td>\n",
       "      <td>1318</td>\n",
       "      <td>1976</td>\n",
       "      <td>1604</td>\n",
       "      <td>2780</td>\n",
       "      <td>1738</td>\n",
       "      <td>1214</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>822</td>\n",
       "      <td>745</td>\n",
       "      <td>732</td>\n",
       "      <td>1092</td>\n",
       "      <td>1725</td>\n",
       "      <td>1287</td>\n",
       "      <td>519</td>\n",
       "      <td>4042</td>\n",
       "      <td>1094</td>\n",
       "      <td>1267</td>\n",
       "      <td>...</td>\n",
       "      <td>1101</td>\n",
       "      <td>567</td>\n",
       "      <td>906</td>\n",
       "      <td>1086</td>\n",
       "      <td>1229</td>\n",
       "      <td>5697</td>\n",
       "      <td>1194</td>\n",
       "      <td>2266</td>\n",
       "      <td>1319</td>\n",
       "      <td>914</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>727</td>\n",
       "      <td>613</td>\n",
       "      <td>831</td>\n",
       "      <td>1052</td>\n",
       "      <td>1802</td>\n",
       "      <td>1212</td>\n",
       "      <td>428</td>\n",
       "      <td>1512</td>\n",
       "      <td>1002</td>\n",
       "      <td>1243</td>\n",
       "      <td>...</td>\n",
       "      <td>1111</td>\n",
       "      <td>648</td>\n",
       "      <td>949</td>\n",
       "      <td>847</td>\n",
       "      <td>1061</td>\n",
       "      <td>1972</td>\n",
       "      <td>1263</td>\n",
       "      <td>2316</td>\n",
       "      <td>1446</td>\n",
       "      <td>790</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>7 rows × 41 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "shop_id          2    3    4     5     6     7    10    12    14    15  ...  \\\n",
       "date_block_num                                                          ...   \n",
       "27              859  740  899  1054  1998  1340  594  2620  1055  1364  ...   \n",
       "28              843  731  893  1012  1748  1217  466  2930   933  1277  ...   \n",
       "29              804  672  793   954  1539  1235  441  1830  1019  1332  ...   \n",
       "30              785  535  842   991  1484  1327  449  1554   954  1316  ...   \n",
       "31              942  666  947  1294  1575  1409  442  1471  1061  1360  ...   \n",
       "32              822  745  732  1092  1725  1287  519  4042  1094  1267  ...   \n",
       "33              727  613  831  1052  1802  1212  428  1512  1002  1243  ...   \n",
       "\n",
       "shop_id           48   49    50    52    53    55    56    57    58    59  \n",
       "date_block_num                                                             \n",
       "27              1081  542   895  1152  1322  3422  1237  2860  1710  1054  \n",
       "28              1110  692  1073   894  1206  2117  1315  2408  1378   916  \n",
       "29               990  789   900   820  1078  1909  1566  2440  1554   913  \n",
       "30              1102  856  1126   828  1257  1658  1491  2352  1689   992  \n",
       "31              1308  966  1081   932  1318  1976  1604  2780  1738  1214  \n",
       "32              1101  567   906  1086  1229  5697  1194  2266  1319   914  \n",
       "33              1111  648   949   847  1061  1972  1263  2316  1446   790  \n",
       "\n",
       "[7 rows x 41 columns]"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "open_shop = shop_sales_monthly[shop_open_month_cnt[shop_open_month_cnt == 6].index]\n",
    "open_shop.tail(7) # 最后半年都正常经营的商店"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "item_id\n",
       "0    0\n",
       "1    0\n",
       "2    0\n",
       "3    0\n",
       "4    0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "item_selling_month_cnt = (item_sales_monthly.iloc[-6:] >  0).sum() \n",
    "item_selling_month_cnt.head()  # 这些商品在最后半年有几个月有销量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>item_id</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>9</th>\n",
       "      <th>...</th>\n",
       "      <th>22150</th>\n",
       "      <th>22151</th>\n",
       "      <th>22152</th>\n",
       "      <th>22156</th>\n",
       "      <th>22157</th>\n",
       "      <th>22160</th>\n",
       "      <th>22161</th>\n",
       "      <th>22165</th>\n",
       "      <th>22168</th>\n",
       "      <th>22169</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_block_num</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>12 rows × 12878 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "item_id         0      1      2      3      4      5      6      7      8      \\\n",
       "date_block_num                                                                  \n",
       "22                  0      0      1      0      0      0      0      0      0   \n",
       "23                  0      0      0      0      0      1      0      1      0   \n",
       "24                  0      0      0      0      0      0      0      0      0   \n",
       "25                  0      0      0      0      0      0      0      0      0   \n",
       "26                  0      0      0      0      0      0      0      0      0   \n",
       "27                  0      0      0      0      0      0      0      0      0   \n",
       "28                  0      0      0      0      0      0      0      0      0   \n",
       "29                  0      0      0      0      0      0      0      0      0   \n",
       "30                  0      0      0      0      0      0      0      0      0   \n",
       "31                  0      0      0      0      0      0      0      0      0   \n",
       "32                  0      0      0      0      0      0      0      0      0   \n",
       "33                  0      0      0      0      0      0      0      0      0   \n",
       "\n",
       "item_id         9      ...  22150  22151  22152  22156  22157  22160  22161  \\\n",
       "date_block_num         ...                                                    \n",
       "22                  0  ...      0      0      0      0      0      0      0   \n",
       "23                  0  ...      0      0      0      0      0      0      0   \n",
       "24                  0  ...      0      0      0      0      0      0      0   \n",
       "25                  0  ...      0      0      0      0      0      0      0   \n",
       "26                  0  ...      0      0      0      0      0      0      0   \n",
       "27                  0  ...      0      0      0      0      0      0      0   \n",
       "28                  0  ...      0      0      0      0      0      0      0   \n",
       "29                  0  ...      0      0      0      0      0      0      0   \n",
       "30                  0  ...      0      0      0      0      0      0      0   \n",
       "31                  0  ...      0      0      0      0      0      0      0   \n",
       "32                  0  ...      0      0      0      0      0      0      0   \n",
       "33                  0  ...      0      0      0      0      0      0      0   \n",
       "\n",
       "item_id         22165  22168  22169  \n",
       "date_block_num                       \n",
       "22                  0      0      0  \n",
       "23                  0      0      0  \n",
       "24                  0      0      0  \n",
       "25                  0      0      0  \n",
       "26                  0      0      0  \n",
       "27                  0      0      0  \n",
       "28                  0      0      0  \n",
       "29                  0      0      0  \n",
       "30                  0      0      0  \n",
       "31                  0      0      0  \n",
       "32                  0      0      0  \n",
       "33                  0      0      0  \n",
       "\n",
       "[12 rows x 12878 columns]"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "item_zero = item_sales_monthly[item_selling_month_cnt[item_selling_month_cnt == 0].index]\n",
    "# 这些商品在最后半年都没有销量\n",
    "item_zero.tail(12)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>item_id</th>\n",
       "      <th>30</th>\n",
       "      <th>31</th>\n",
       "      <th>32</th>\n",
       "      <th>33</th>\n",
       "      <th>38</th>\n",
       "      <th>39</th>\n",
       "      <th>40</th>\n",
       "      <th>42</th>\n",
       "      <th>45</th>\n",
       "      <th>49</th>\n",
       "      <th>...</th>\n",
       "      <th>22153</th>\n",
       "      <th>22154</th>\n",
       "      <th>22155</th>\n",
       "      <th>22158</th>\n",
       "      <th>22159</th>\n",
       "      <th>22162</th>\n",
       "      <th>22163</th>\n",
       "      <th>22164</th>\n",
       "      <th>22166</th>\n",
       "      <th>22167</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_block_num</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>13</td>\n",
       "      <td>11</td>\n",
       "      <td>29</td>\n",
       "      <td>20</td>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>8</td>\n",
       "      <td>3</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>16</td>\n",
       "      <td>18</td>\n",
       "      <td>40</td>\n",
       "      <td>21</td>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>14</td>\n",
       "      <td>25</td>\n",
       "      <td>42</td>\n",
       "      <td>19</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>11</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>14</td>\n",
       "      <td>13</td>\n",
       "      <td>32</td>\n",
       "      <td>26</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>311</td>\n",
       "      <td>0</td>\n",
       "      <td>289</td>\n",
       "      <td>8</td>\n",
       "      <td>46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>5</td>\n",
       "      <td>12</td>\n",
       "      <td>40</td>\n",
       "      <td>20</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>194</td>\n",
       "      <td>0</td>\n",
       "      <td>92</td>\n",
       "      <td>12</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>4</td>\n",
       "      <td>13</td>\n",
       "      <td>20</td>\n",
       "      <td>13</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>78</td>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>4</td>\n",
       "      <td>38</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>20</td>\n",
       "      <td>12</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>35</td>\n",
       "      <td>0</td>\n",
       "      <td>23</td>\n",
       "      <td>8</td>\n",
       "      <td>31</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>4</td>\n",
       "      <td>10</td>\n",
       "      <td>26</td>\n",
       "      <td>11</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>22</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>10</td>\n",
       "      <td>33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>21</td>\n",
       "      <td>15</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>8</td>\n",
       "      <td>34</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>6</td>\n",
       "      <td>53</td>\n",
       "      <td>30</td>\n",
       "      <td>14</td>\n",
       "      <td>7</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "      <td>29</td>\n",
       "      <td>20</td>\n",
       "      <td>11</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>3</td>\n",
       "      <td>9</td>\n",
       "      <td>19</td>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>3</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>20</td>\n",
       "      <td>9</td>\n",
       "      <td>5</td>\n",
       "      <td>21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>1</td>\n",
       "      <td>18</td>\n",
       "      <td>22</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>26</td>\n",
       "      <td>15</td>\n",
       "      <td>11</td>\n",
       "      <td>37</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>12 rows × 8910 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "item_id         30     31     32     33     38     39     40     42     45     \\\n",
       "date_block_num                                                                  \n",
       "22                 13     11     29     20     10      0      1      3      8   \n",
       "23                 16     18     40     21     11      0      5      2     10   \n",
       "24                 14     25     42     19      7      0      1      2     11   \n",
       "25                 14     13     32     26      4      1      1      1      2   \n",
       "26                  5     12     40     20      1      0      0      2      3   \n",
       "27                  4     13     20     13      0      0      1      1      5   \n",
       "28                  5      5     20     12      3      0      0      2      2   \n",
       "29                  4     10     26     11      2      0      0      1      1   \n",
       "30                  4      6     21     15      5      0      0      1      3   \n",
       "31                  6     53     30     14      7      1      0      0      4   \n",
       "32                  3      9     19     16      2      0      0      1      6   \n",
       "33                  1     18     22     16      0      0      1      1      1   \n",
       "\n",
       "item_id         49     ...  22153  22154  22155  22158  22159  22162  22163  \\\n",
       "date_block_num         ...                                                    \n",
       "22                  3  ...      0      0      0      0      0      0      0   \n",
       "23                  2  ...      1      0      0      0      0      0      0   \n",
       "24                  2  ...      0      0      0      0      0      0      0   \n",
       "25                  4  ...      1      0      0      0      0    311      0   \n",
       "26                  2  ...      0      0      0      0      0    194      0   \n",
       "27                  5  ...      0      0      0      0      0     78      0   \n",
       "28                  2  ...      0      0      0      0     12     35      0   \n",
       "29                  3  ...      0      0      1      0      3     22      0   \n",
       "30                  4  ...      0      8      0      0      0     27      0   \n",
       "31                  4  ...      1      6      0      0      0     14     29   \n",
       "32                  3  ...      0      4      1      0      0      7     20   \n",
       "33                  2  ...      0      5      0      1      0     10     26   \n",
       "\n",
       "item_id         22164  22166  22167  \n",
       "date_block_num                       \n",
       "22                  0     16     49  \n",
       "23                  0     11     40  \n",
       "24                  0      7     33  \n",
       "25                289      8     46  \n",
       "26                 92     12     40  \n",
       "27                 27      4     38  \n",
       "28                 23      8     31  \n",
       "29                  6     10     33  \n",
       "30                 12      8     34  \n",
       "31                 20     11     29  \n",
       "32                  9      5     21  \n",
       "33                 15     11     37  \n",
       "\n",
       "[12 rows x 8910 columns]"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "selling_item = item_sales_monthly[item_selling_month_cnt[item_selling_month_cnt > 0].index]\n",
    "selling_item.tail(12)  # 最后半年有销量的商品"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_price</th>\n",
       "      <th>item_cnt_day</th>\n",
       "      <th>turnover_day</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>shop_type_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>02.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>999.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>999.0</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>29</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>03.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>899.0</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>05.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2552</td>\n",
       "      <td>899.0</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>-899.0</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>03.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2574</td>\n",
       "      <td>399.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>798.0</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>38</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>05.01.2013</td>\n",
       "      <td>0</td>\n",
       "      <td>25</td>\n",
       "      <td>2574</td>\n",
       "      <td>399.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>399.0</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>38</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2935819</th>\n",
       "      <td>10.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>25</td>\n",
       "      <td>7409</td>\n",
       "      <td>299.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>299.0</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>38</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2935820</th>\n",
       "      <td>09.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>25</td>\n",
       "      <td>7460</td>\n",
       "      <td>299.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>299.0</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>38</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2935821</th>\n",
       "      <td>14.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>25</td>\n",
       "      <td>7459</td>\n",
       "      <td>349.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>349.0</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>38</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2935822</th>\n",
       "      <td>22.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>25</td>\n",
       "      <td>7440</td>\n",
       "      <td>299.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>299.0</td>\n",
       "      <td>57</td>\n",
       "      <td>12</td>\n",
       "      <td>40</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2935823</th>\n",
       "      <td>03.10.2015</td>\n",
       "      <td>33</td>\n",
       "      <td>25</td>\n",
       "      <td>7460</td>\n",
       "      <td>299.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>299.0</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>38</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1782392 rows × 12 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "               date  date_block_num  shop_id  item_id  item_price  \\\n",
       "0        02.01.2013               0       59    22154       999.0   \n",
       "1        03.01.2013               0       25     2552       899.0   \n",
       "2        05.01.2013               0       25     2552       899.0   \n",
       "10       03.01.2013               0       25     2574       399.0   \n",
       "11       05.01.2013               0       25     2574       399.0   \n",
       "...             ...             ...      ...      ...         ...   \n",
       "2935819  10.10.2015              33       25     7409       299.0   \n",
       "2935820  09.10.2015              33       25     7460       299.0   \n",
       "2935821  14.10.2015              33       25     7459       349.0   \n",
       "2935822  22.10.2015              33       25     7440       299.0   \n",
       "2935823  03.10.2015              33       25     7460       299.0   \n",
       "\n",
       "         item_cnt_day  turnover_day  item_category_id  item_type_code  \\\n",
       "0                 1.0         999.0                37              10   \n",
       "1                 1.0         899.0                58              12   \n",
       "2                -1.0        -899.0                58              12   \n",
       "10                2.0         798.0                55              12   \n",
       "11                1.0         399.0                55              12   \n",
       "...               ...           ...               ...             ...   \n",
       "2935819           1.0         299.0                55              12   \n",
       "2935820           1.0         299.0                55              12   \n",
       "2935821           1.0         349.0                55              12   \n",
       "2935822           1.0         299.0                57              12   \n",
       "2935823           1.0         299.0                55              12   \n",
       "\n",
       "         sub_type_code  shop_city_code  shop_type_code  \n",
       "0                   21              29               1  \n",
       "1                   41              14               2  \n",
       "2                   41              14               2  \n",
       "10                  38              14               2  \n",
       "11                  38              14               2  \n",
       "...                ...             ...             ...  \n",
       "2935819             38              14               2  \n",
       "2935820             38              14               2  \n",
       "2935821             38              14               2  \n",
       "2935822             40              14               2  \n",
       "2935823             38              14               2  \n",
       "\n",
       "[1782392 rows x 12 columns]"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cl_set = filtered[filtered['shop_id'].isin(open_shop.columns) & filtered['item_id'].isin(selling_item.columns)]\n",
    "cl_set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2574</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2607</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2515</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4940199</th>\n",
       "      <td>33</td>\n",
       "      <td>21</td>\n",
       "      <td>7635</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4940200</th>\n",
       "      <td>33</td>\n",
       "      <td>21</td>\n",
       "      <td>7638</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4940201</th>\n",
       "      <td>33</td>\n",
       "      <td>21</td>\n",
       "      <td>7640</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4940202</th>\n",
       "      <td>33</td>\n",
       "      <td>21</td>\n",
       "      <td>7632</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4940203</th>\n",
       "      <td>33</td>\n",
       "      <td>21</td>\n",
       "      <td>7440</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>4940204 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         date_block_num  shop_id  item_id\n",
       "0                     0       59    22154\n",
       "1                     0       59     2552\n",
       "2                     0       59     2574\n",
       "3                     0       59     2607\n",
       "4                     0       59     2515\n",
       "...                 ...      ...      ...\n",
       "4940199              33       21     7635\n",
       "4940200              33       21     7638\n",
       "4940201              33       21     7640\n",
       "4940202              33       21     7632\n",
       "4940203              33       21     7440\n",
       "\n",
       "[4940204 rows x 3 columns]"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from itertools import product\n",
    "import time\n",
    "ts = time.time()\n",
    "martix = []\n",
    "for i in range(34):\n",
    "    record = cl_set[cl_set['date_block_num'] == i]\n",
    "    group = product([i],record.shop_id.unique(),record.item_id.unique())\n",
    "    martix.append(np.array(list(group)))\n",
    "            \n",
    "cols = ['date_block_num', 'shop_id', 'item_id']\n",
    "martix = pd.DataFrame(np.vstack(martix), columns=cols)\n",
    "\n",
    "martix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10840735</th>\n",
       "      <td>33</td>\n",
       "      <td>21</td>\n",
       "      <td>7635</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10840736</th>\n",
       "      <td>33</td>\n",
       "      <td>21</td>\n",
       "      <td>7638</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10840737</th>\n",
       "      <td>33</td>\n",
       "      <td>21</td>\n",
       "      <td>7640</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10840738</th>\n",
       "      <td>33</td>\n",
       "      <td>21</td>\n",
       "      <td>7632</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10840739</th>\n",
       "      <td>33</td>\n",
       "      <td>21</td>\n",
       "      <td>7440</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>10840740 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          date_block_num  shop_id  item_id\n",
       "0                      0       59    22154\n",
       "1                      0       59     2552\n",
       "2                      0       59     2554\n",
       "3                      0       59     2555\n",
       "4                      0       59     2564\n",
       "...                  ...      ...      ...\n",
       "10840735              33       21     7635\n",
       "10840736              33       21     7638\n",
       "10840737              33       21     7640\n",
       "10840738              33       21     7632\n",
       "10840739              33       21     7440\n",
       "\n",
       "[10840740 rows x 3 columns]"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# from itertools import product\n",
    "# import time\n",
    "# ts = time.time()\n",
    "# martix = []\n",
    "# for i in range(34):\n",
    "#     record = filtered[filtered['date_block_num'] == i]\n",
    "#     group = product([i],record.shop_id.unique(),record.item_id.unique())\n",
    "#     martix.append(np.array(list(group)))\n",
    "            \n",
    "# cols = ['date_block_num', 'shop_id', 'item_id']\n",
    "# martix = pd.DataFrame(np.vstack(martix), columns=cols)\n",
    "\n",
    "# martix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "del cl_set\n",
    "gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>27</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>33</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>317</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>438</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>471</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1608242</th>\n",
       "      <td>33</td>\n",
       "      <td>59</td>\n",
       "      <td>22087</td>\n",
       "      <td>6.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1608243</th>\n",
       "      <td>33</td>\n",
       "      <td>59</td>\n",
       "      <td>22088</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1608244</th>\n",
       "      <td>33</td>\n",
       "      <td>59</td>\n",
       "      <td>22091</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1608245</th>\n",
       "      <td>33</td>\n",
       "      <td>59</td>\n",
       "      <td>22100</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1608246</th>\n",
       "      <td>33</td>\n",
       "      <td>59</td>\n",
       "      <td>22102</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1608247 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         date_block_num  shop_id  item_id  item_cnt_month\n",
       "0                     0        2       27             1.0\n",
       "1                     0        2       33             1.0\n",
       "2                     0        2      317             1.0\n",
       "3                     0        2      438             1.0\n",
       "4                     0        2      471             2.0\n",
       "...                 ...      ...      ...             ...\n",
       "1608242              33       59    22087             6.0\n",
       "1608243              33       59    22088             2.0\n",
       "1608244              33       59    22091             1.0\n",
       "1608245              33       59    22100             1.0\n",
       "1608246              33       59    22102             1.0\n",
       "\n",
       "[1608247 rows x 4 columns]"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "group = filtered.groupby(['date_block_num', 'shop_id', 'item_id']).agg({'item_cnt_day': np.sum})\n",
    "group.columns = ['item_cnt_month']\n",
    "group.reset_index(inplace=True)\n",
    "group"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   date_block_num  shop_id  item_id  item_cnt_month\n",
       "0               0       59    22154             1.0\n",
       "1               0       59     2552             NaN\n",
       "2               0       59     2554             NaN\n",
       "3               0       59     2555             NaN\n",
       "4               0       59     2564             NaN"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "martix = pd.merge(martix, group, on=['date_block_num', 'shop_id', 'item_id'], how='left')\n",
    "martix.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054935</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>18454</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054936</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>16188</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054937</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>15757</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054938</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>19648</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054939</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>969</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>11054940 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          date_block_num  shop_id  item_id  item_cnt_month\n",
       "0                      0       59    22154             1.0\n",
       "1                      0       59     2552             0.0\n",
       "2                      0       59     2554             0.0\n",
       "3                      0       59     2555             0.0\n",
       "4                      0       59     2564             0.0\n",
       "...                  ...      ...      ...             ...\n",
       "11054935              34       45    18454             0.0\n",
       "11054936              34       45    16188             0.0\n",
       "11054937              34       45    15757             0.0\n",
       "11054938              34       45    19648             0.0\n",
       "11054939              34       45      969             0.0\n",
       "\n",
       "[11054940 rows x 4 columns]"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 测试集是第34月的数据，所以给测试集合添加上'date_block_num'字段并设置为34。\n",
    "# 待预测的字段‘item_cnt_mun’就设置为0。\n",
    "test['date_block_num'] = 34\n",
    "test['item_cnt_month'] = 0\n",
    "martix = pd.concat([martix.fillna(0), test.drop(columns='ID')], sort=False, ignore_index=True, keys=['date_block_num','shop_id','item_id'])\n",
    "martix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>shop_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>56</td>\n",
       "      <td>12</td>\n",
       "      <td>39</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>59</td>\n",
       "      <td>12</td>\n",
       "      <td>42</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054935</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>18454</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>38</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054936</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>16188</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>64</td>\n",
       "      <td>13</td>\n",
       "      <td>47</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054937</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>15757</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>38</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054938</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>19648</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>40</td>\n",
       "      <td>10</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054939</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>969</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>11054940 rows × 9 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          date_block_num  shop_id  item_id  item_cnt_month  shop_type_code  \\\n",
       "0                      0       59    22154             1.0               1   \n",
       "1                      0       59     2552             0.0               1   \n",
       "2                      0       59     2554             0.0               1   \n",
       "3                      0       59     2555             0.0               1   \n",
       "4                      0       59     2564             0.0               1   \n",
       "...                  ...      ...      ...             ...             ...   \n",
       "11054935              34       45    18454             0.0               1   \n",
       "11054936              34       45    16188             0.0               1   \n",
       "11054937              34       45    15757             0.0               1   \n",
       "11054938              34       45    19648             0.0               1   \n",
       "11054939              34       45      969             0.0               1   \n",
       "\n",
       "          shop_city_code  item_category_id  item_type_code  sub_type_code  \n",
       "0                     29                37              10             21  \n",
       "1                     29                58              12             41  \n",
       "2                     29                58              12             41  \n",
       "3                     29                56              12             39  \n",
       "4                     29                59              12             42  \n",
       "...                  ...               ...             ...            ...  \n",
       "11054935              21                55              12             38  \n",
       "11054936              21                64              13             47  \n",
       "11054937              21                55              12             38  \n",
       "11054938              21                40              10             24  \n",
       "11054939              21                37              10             21  \n",
       "\n",
       "[11054940 rows x 9 columns]"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "martix = martix.merge(shops[['shop_id', 'shop_type_code', 'shop_city_code']], on='shop_id', how='left')\n",
    "martix = martix.merge(items.drop(columns='item_name'), on='item_id', how='left')\n",
    "martix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>shop_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>56</td>\n",
       "      <td>12</td>\n",
       "      <td>39</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>59</td>\n",
       "      <td>12</td>\n",
       "      <td>42</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   date_block_num  shop_id  item_id  item_cnt_month  shop_type_code  \\\n",
       "0               0       59    22154             1.0               1   \n",
       "1               0       59     2552             0.0               1   \n",
       "2               0       59     2554             0.0               1   \n",
       "3               0       59     2555             0.0               1   \n",
       "4               0       59     2564             0.0               1   \n",
       "\n",
       "   shop_city_code  item_category_id  item_type_code  sub_type_code  year  \\\n",
       "0              29                37              10             21  2013   \n",
       "1              29                58              12             41  2013   \n",
       "2              29                58              12             41  2013   \n",
       "3              29                56              12             39  2013   \n",
       "4              29                59              12             42  2013   \n",
       "\n",
       "   month  \n",
       "0      0  \n",
       "1      0  \n",
       "2      0  \n",
       "3      0  \n",
       "4      0  "
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "martix['year'] =  martix['date_block_num'].map(lambda x: x // 12 + 2013)\n",
    "martix['month'] = martix['date_block_num'].map(lambda x: x % 12)\n",
    "martix.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>shop_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "      <th>item_cnt_month_avg</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.022222</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>56</td>\n",
       "      <td>12</td>\n",
       "      <td>39</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.044444</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>59</td>\n",
       "      <td>12</td>\n",
       "      <td>42</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.111111</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   date_block_num  shop_id  item_id  item_cnt_month  shop_type_code  \\\n",
       "0               0       59    22154             1.0               1   \n",
       "1               0       59     2552             0.0               1   \n",
       "2               0       59     2554             0.0               1   \n",
       "3               0       59     2555             0.0               1   \n",
       "4               0       59     2564             0.0               1   \n",
       "\n",
       "   shop_city_code  item_category_id  item_type_code  sub_type_code  year  \\\n",
       "0              29                37              10             21  2013   \n",
       "1              29                58              12             41  2013   \n",
       "2              29                58              12             41  2013   \n",
       "3              29                56              12             39  2013   \n",
       "4              29                59              12             42  2013   \n",
       "\n",
       "   month  item_cnt_month_avg  \n",
       "0      0            0.400000  \n",
       "1      0            0.000000  \n",
       "2      0            0.022222  \n",
       "3      0            0.044444  \n",
       "4      0            0.111111  "
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 商品 月销量均值\n",
    "group = martix.groupby(['date_block_num','item_id']).agg({'item_cnt_month':'mean'})\n",
    "group.columns = ['item_cnt_month_avg']\n",
    "group.reset_index(inplace=True)\n",
    "martix = martix.merge(group, on=['date_block_num', 'item_id'], how='left')\n",
    "martix.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>shop_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "      <th>item_cnt_month_avg</th>\n",
       "      <th>cat_cnt_month_avg</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.400000</td>\n",
       "      <td>0.199738</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.043386</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.022222</td>\n",
       "      <td>0.043386</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>56</td>\n",
       "      <td>12</td>\n",
       "      <td>39</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.044444</td>\n",
       "      <td>0.049630</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>59</td>\n",
       "      <td>12</td>\n",
       "      <td>42</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.111111</td>\n",
       "      <td>0.093842</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   date_block_num  shop_id  item_id  item_cnt_month  shop_type_code  \\\n",
       "0               0       59    22154             1.0               1   \n",
       "1               0       59     2552             0.0               1   \n",
       "2               0       59     2554             0.0               1   \n",
       "3               0       59     2555             0.0               1   \n",
       "4               0       59     2564             0.0               1   \n",
       "\n",
       "   shop_city_code  item_category_id  item_type_code  sub_type_code  year  \\\n",
       "0              29                37              10             21  2013   \n",
       "1              29                58              12             41  2013   \n",
       "2              29                58              12             41  2013   \n",
       "3              29                56              12             39  2013   \n",
       "4              29                59              12             42  2013   \n",
       "\n",
       "   month  item_cnt_month_avg  cat_cnt_month_avg  \n",
       "0      0            0.400000           0.199738  \n",
       "1      0            0.000000           0.043386  \n",
       "2      0            0.022222           0.043386  \n",
       "3      0            0.044444           0.049630  \n",
       "4      0            0.111111           0.093842  "
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 类别 月销量均值\n",
    "group = martix.groupby(['date_block_num','item_category_id']).agg({'item_cnt_month':'mean'})\n",
    "group.columns = ['cat_cnt_month_avg']\n",
    "group.reset_index(inplace=True)\n",
    "martix = martix.merge(group, on=['date_block_num', 'item_category_id'], how='left')\n",
    "martix.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 商店-类别 月销量均值\n",
    "group = martix.groupby(['date_block_num','shop_id','item_category_id']).agg({'item_cnt_month':'mean'})\n",
    "group.columns = ['shop_cat_cnt_month_avg']\n",
    "group.reset_index(inplace=True)\n",
    "martix = martix.merge(group, on=['date_block_num','shop_id','item_category_id'], how='left')\n",
    "martix.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>shop_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "      <th>item_cnt_month_avg</th>\n",
       "      <th>cat_cnt_month_avg</th>\n",
       "      <th>itemtype_cnt_month_avg</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.400000</td>\n",
       "      <td>0.199738</td>\n",
       "      <td>0.284744</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.043386</td>\n",
       "      <td>0.166607</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.022222</td>\n",
       "      <td>0.043386</td>\n",
       "      <td>0.166607</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>56</td>\n",
       "      <td>12</td>\n",
       "      <td>39</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.044444</td>\n",
       "      <td>0.049630</td>\n",
       "      <td>0.166607</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>59</td>\n",
       "      <td>12</td>\n",
       "      <td>42</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.111111</td>\n",
       "      <td>0.093842</td>\n",
       "      <td>0.166607</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   date_block_num  shop_id  item_id  item_cnt_month  shop_type_code  \\\n",
       "0               0       59    22154             1.0               1   \n",
       "1               0       59     2552             0.0               1   \n",
       "2               0       59     2554             0.0               1   \n",
       "3               0       59     2555             0.0               1   \n",
       "4               0       59     2564             0.0               1   \n",
       "\n",
       "   shop_city_code  item_category_id  item_type_code  sub_type_code  year  \\\n",
       "0              29                37              10             21  2013   \n",
       "1              29                58              12             41  2013   \n",
       "2              29                58              12             41  2013   \n",
       "3              29                56              12             39  2013   \n",
       "4              29                59              12             42  2013   \n",
       "\n",
       "   month  item_cnt_month_avg  cat_cnt_month_avg  itemtype_cnt_month_avg  \n",
       "0      0            0.400000           0.199738                0.284744  \n",
       "1      0            0.000000           0.043386                0.166607  \n",
       "2      0            0.022222           0.043386                0.166607  \n",
       "3      0            0.044444           0.049630                0.166607  \n",
       "4      0            0.111111           0.093842                0.166607  "
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 大类 月销量均值\n",
    "group = martix.groupby(['date_block_num', 'item_type_code']).agg({'item_cnt_month':'mean'})\n",
    "group.columns = ['itemtype_cnt_month_avg']\n",
    "group.reset_index(inplace=True)\n",
    "martix = martix.merge(group, on=['date_block_num', 'item_type_code'], how='left')\n",
    "martix.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>shop_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "      <th>item_cnt_month_avg</th>\n",
       "      <th>cat_cnt_month_avg</th>\n",
       "      <th>itemtype_cnt_month_avg</th>\n",
       "      <th>subtype_cnt_month_avg</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.400000</td>\n",
       "      <td>0.199738</td>\n",
       "      <td>0.284744</td>\n",
       "      <td>0.199738</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.043386</td>\n",
       "      <td>0.166607</td>\n",
       "      <td>0.043386</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.022222</td>\n",
       "      <td>0.043386</td>\n",
       "      <td>0.166607</td>\n",
       "      <td>0.043386</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>56</td>\n",
       "      <td>12</td>\n",
       "      <td>39</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.044444</td>\n",
       "      <td>0.049630</td>\n",
       "      <td>0.166607</td>\n",
       "      <td>0.049630</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>59</td>\n",
       "      <td>12</td>\n",
       "      <td>42</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.111111</td>\n",
       "      <td>0.093842</td>\n",
       "      <td>0.166607</td>\n",
       "      <td>0.093842</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   date_block_num  shop_id  item_id  item_cnt_month  shop_type_code  \\\n",
       "0               0       59    22154             1.0               1   \n",
       "1               0       59     2552             0.0               1   \n",
       "2               0       59     2554             0.0               1   \n",
       "3               0       59     2555             0.0               1   \n",
       "4               0       59     2564             0.0               1   \n",
       "\n",
       "   shop_city_code  item_category_id  item_type_code  sub_type_code  year  \\\n",
       "0              29                37              10             21  2013   \n",
       "1              29                58              12             41  2013   \n",
       "2              29                58              12             41  2013   \n",
       "3              29                56              12             39  2013   \n",
       "4              29                59              12             42  2013   \n",
       "\n",
       "   month  item_cnt_month_avg  cat_cnt_month_avg  itemtype_cnt_month_avg  \\\n",
       "0      0            0.400000           0.199738                0.284744   \n",
       "1      0            0.000000           0.043386                0.166607   \n",
       "2      0            0.022222           0.043386                0.166607   \n",
       "3      0            0.044444           0.049630                0.166607   \n",
       "4      0            0.111111           0.093842                0.166607   \n",
       "\n",
       "   subtype_cnt_month_avg  \n",
       "0               0.199738  \n",
       "1               0.043386  \n",
       "2               0.043386  \n",
       "3               0.049630  \n",
       "4               0.093842  "
      ]
     },
     "execution_count": 91,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 小类 月销量均值\n",
    "group = martix.groupby(['date_block_num', 'sub_type_code']).agg({'item_cnt_month':'mean'})\n",
    "group.columns = ['subtype_cnt_month_avg']\n",
    "group.reset_index(inplace=True)\n",
    "martix = martix.merge(group, on=['date_block_num','sub_type_code'], how='left')\n",
    "martix.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>shop_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "      <th>item_cnt_month_avg</th>\n",
       "      <th>cat_cnt_month_avg</th>\n",
       "      <th>itemtype_cnt_month_avg</th>\n",
       "      <th>subtype_cnt_month_avg</th>\n",
       "      <th>city_item_cnt_month_avg</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.400000</td>\n",
       "      <td>0.199738</td>\n",
       "      <td>0.284744</td>\n",
       "      <td>0.199738</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.043386</td>\n",
       "      <td>0.166607</td>\n",
       "      <td>0.043386</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.022222</td>\n",
       "      <td>0.043386</td>\n",
       "      <td>0.166607</td>\n",
       "      <td>0.043386</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>56</td>\n",
       "      <td>12</td>\n",
       "      <td>39</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.044444</td>\n",
       "      <td>0.049630</td>\n",
       "      <td>0.166607</td>\n",
       "      <td>0.049630</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>59</td>\n",
       "      <td>12</td>\n",
       "      <td>42</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.111111</td>\n",
       "      <td>0.093842</td>\n",
       "      <td>0.166607</td>\n",
       "      <td>0.093842</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   date_block_num  shop_id  item_id  item_cnt_month  shop_type_code  \\\n",
       "0               0       59    22154             1.0               1   \n",
       "1               0       59     2552             0.0               1   \n",
       "2               0       59     2554             0.0               1   \n",
       "3               0       59     2555             0.0               1   \n",
       "4               0       59     2564             0.0               1   \n",
       "\n",
       "   shop_city_code  item_category_id  item_type_code  sub_type_code  year  \\\n",
       "0              29                37              10             21  2013   \n",
       "1              29                58              12             41  2013   \n",
       "2              29                58              12             41  2013   \n",
       "3              29                56              12             39  2013   \n",
       "4              29                59              12             42  2013   \n",
       "\n",
       "   month  item_cnt_month_avg  cat_cnt_month_avg  itemtype_cnt_month_avg  \\\n",
       "0      0            0.400000           0.199738                0.284744   \n",
       "1      0            0.000000           0.043386                0.166607   \n",
       "2      0            0.022222           0.043386                0.166607   \n",
       "3      0            0.044444           0.049630                0.166607   \n",
       "4      0            0.111111           0.093842                0.166607   \n",
       "\n",
       "   subtype_cnt_month_avg  city_item_cnt_month_avg  \n",
       "0               0.199738                      1.0  \n",
       "1               0.043386                      0.0  \n",
       "2               0.043386                      0.0  \n",
       "3               0.049630                      0.0  \n",
       "4               0.093842                      0.0  "
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 城市-商品 月销量均值\n",
    "group = martix.groupby(['date_block_num','shop_city_code','item_id']).agg({'item_cnt_month':'mean'})\n",
    "group.columns = ['city_item_cnt_month_avg']\n",
    "group.reset_index(inplace=True)\n",
    "martix = martix.merge(group, on=['date_block_num','shop_city_code','item_id'], how='left')\n",
    "martix.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>shop_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "      <th>item_cnt_month_avg</th>\n",
       "      <th>cat_cnt_month_avg</th>\n",
       "      <th>itemtype_cnt_month_avg</th>\n",
       "      <th>subtype_cnt_month_avg</th>\n",
       "      <th>city_item_cnt_month_avg</th>\n",
       "      <th>shoptype_item_cnt_month_avg</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.400000</td>\n",
       "      <td>0.199738</td>\n",
       "      <td>0.284744</td>\n",
       "      <td>0.199738</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.043386</td>\n",
       "      <td>0.166607</td>\n",
       "      <td>0.043386</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.022222</td>\n",
       "      <td>0.043386</td>\n",
       "      <td>0.166607</td>\n",
       "      <td>0.043386</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>56</td>\n",
       "      <td>12</td>\n",
       "      <td>39</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.044444</td>\n",
       "      <td>0.049630</td>\n",
       "      <td>0.166607</td>\n",
       "      <td>0.049630</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>59</td>\n",
       "      <td>12</td>\n",
       "      <td>42</td>\n",
       "      <td>2013</td>\n",
       "      <td>0</td>\n",
       "      <td>0.111111</td>\n",
       "      <td>0.093842</td>\n",
       "      <td>0.166607</td>\n",
       "      <td>0.093842</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.12</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   date_block_num  shop_id  item_id  item_cnt_month  shop_type_code  \\\n",
       "0               0       59    22154             1.0               1   \n",
       "1               0       59     2552             0.0               1   \n",
       "2               0       59     2554             0.0               1   \n",
       "3               0       59     2555             0.0               1   \n",
       "4               0       59     2564             0.0               1   \n",
       "\n",
       "   shop_city_code  item_category_id  item_type_code  sub_type_code  year  \\\n",
       "0              29                37              10             21  2013   \n",
       "1              29                58              12             41  2013   \n",
       "2              29                58              12             41  2013   \n",
       "3              29                56              12             39  2013   \n",
       "4              29                59              12             42  2013   \n",
       "\n",
       "   month  item_cnt_month_avg  cat_cnt_month_avg  itemtype_cnt_month_avg  \\\n",
       "0      0            0.400000           0.199738                0.284744   \n",
       "1      0            0.000000           0.043386                0.166607   \n",
       "2      0            0.022222           0.043386                0.166607   \n",
       "3      0            0.044444           0.049630                0.166607   \n",
       "4      0            0.111111           0.093842                0.166607   \n",
       "\n",
       "   subtype_cnt_month_avg  city_item_cnt_month_avg  shoptype_item_cnt_month_avg  \n",
       "0               0.199738                      1.0                         0.28  \n",
       "1               0.043386                      0.0                         0.00  \n",
       "2               0.043386                      0.0                         0.00  \n",
       "3               0.049630                      0.0                         0.04  \n",
       "4               0.093842                      0.0                         0.12  "
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 商店类型-商品 月销量均值\n",
    "group = martix.groupby(['date_block_num','shop_type_code','item_id']).agg({'item_cnt_month':'mean'})\n",
    "group.columns = ['shoptype_item_cnt_month_avg']\n",
    "group.reset_index(inplace=True)\n",
    "martix = martix.merge(group, on=['date_block_num','shop_type_code','item_id'], how='left')\n",
    "martix.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "del group\n",
    "gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [],
   "source": [
    "def lag_feature(df, lags, col):\n",
    "    tmp = df[['date_block_num','shop_id','item_id',col]]\n",
    "    for i in lags:\n",
    "        shifted = tmp.copy()\n",
    "        shifted.columns = ['date_block_num','shop_id','item_id', col+'_lag_'+str(i)]\n",
    "        shifted['date_block_num'] += i\n",
    "        df = pd.merge(df, shifted, on=['date_block_num','shop_id','item_id'], how='left')\n",
    "    return df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>shop_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>year</th>\n",
       "      <th>...</th>\n",
       "      <th>cat_cnt_month_avg</th>\n",
       "      <th>itemtype_cnt_month_avg</th>\n",
       "      <th>subtype_cnt_month_avg</th>\n",
       "      <th>city_item_cnt_month_avg</th>\n",
       "      <th>shoptype_item_cnt_month_avg</th>\n",
       "      <th>item_cnt_month_lag_1</th>\n",
       "      <th>item_cnt_month_lag_2</th>\n",
       "      <th>item_cnt_month_lag_3</th>\n",
       "      <th>item_cnt_month_lag_6</th>\n",
       "      <th>item_cnt_month_lag_12</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>0.199738</td>\n",
       "      <td>0.284744</td>\n",
       "      <td>0.199738</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.28</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>0.043386</td>\n",
       "      <td>0.166607</td>\n",
       "      <td>0.043386</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>0.043386</td>\n",
       "      <td>0.166607</td>\n",
       "      <td>0.043386</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>56</td>\n",
       "      <td>12</td>\n",
       "      <td>39</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>0.049630</td>\n",
       "      <td>0.166607</td>\n",
       "      <td>0.049630</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.04</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>59</td>\n",
       "      <td>12</td>\n",
       "      <td>42</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>0.093842</td>\n",
       "      <td>0.166607</td>\n",
       "      <td>0.093842</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.12</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 22 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   date_block_num  shop_id  item_id  item_cnt_month  shop_type_code  \\\n",
       "0               0       59    22154             1.0               1   \n",
       "1               0       59     2552             0.0               1   \n",
       "2               0       59     2554             0.0               1   \n",
       "3               0       59     2555             0.0               1   \n",
       "4               0       59     2564             0.0               1   \n",
       "\n",
       "   shop_city_code  item_category_id  item_type_code  sub_type_code  year  ...  \\\n",
       "0              29                37              10             21  2013  ...   \n",
       "1              29                58              12             41  2013  ...   \n",
       "2              29                58              12             41  2013  ...   \n",
       "3              29                56              12             39  2013  ...   \n",
       "4              29                59              12             42  2013  ...   \n",
       "\n",
       "   cat_cnt_month_avg  itemtype_cnt_month_avg  subtype_cnt_month_avg  \\\n",
       "0           0.199738                0.284744               0.199738   \n",
       "1           0.043386                0.166607               0.043386   \n",
       "2           0.043386                0.166607               0.043386   \n",
       "3           0.049630                0.166607               0.049630   \n",
       "4           0.093842                0.166607               0.093842   \n",
       "\n",
       "   city_item_cnt_month_avg  shoptype_item_cnt_month_avg  item_cnt_month_lag_1  \\\n",
       "0                      1.0                         0.28                   NaN   \n",
       "1                      0.0                         0.00                   NaN   \n",
       "2                      0.0                         0.00                   NaN   \n",
       "3                      0.0                         0.04                   NaN   \n",
       "4                      0.0                         0.12                   NaN   \n",
       "\n",
       "   item_cnt_month_lag_2  item_cnt_month_lag_3  item_cnt_month_lag_6  \\\n",
       "0                   NaN                   NaN                   NaN   \n",
       "1                   NaN                   NaN                   NaN   \n",
       "2                   NaN                   NaN                   NaN   \n",
       "3                   NaN                   NaN                   NaN   \n",
       "4                   NaN                   NaN                   NaN   \n",
       "\n",
       "   item_cnt_month_lag_12  \n",
       "0                    NaN  \n",
       "1                    NaN  \n",
       "2                    NaN  \n",
       "3                    NaN  \n",
       "4                    NaN  \n",
       "\n",
       "[5 rows x 22 columns]"
      ]
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "martix = lag_feature(martix, [1,2,3,6,12], 'item_cnt_month')\n",
    "martix.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>shop_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>year</th>\n",
       "      <th>...</th>\n",
       "      <th>item_cnt_month_lag_1</th>\n",
       "      <th>item_cnt_month_lag_2</th>\n",
       "      <th>item_cnt_month_lag_3</th>\n",
       "      <th>item_cnt_month_lag_6</th>\n",
       "      <th>item_cnt_month_lag_12</th>\n",
       "      <th>item_cnt_month_avg_lag_1</th>\n",
       "      <th>item_cnt_month_avg_lag_2</th>\n",
       "      <th>item_cnt_month_avg_lag_3</th>\n",
       "      <th>item_cnt_month_avg_lag_6</th>\n",
       "      <th>item_cnt_month_avg_lag_12</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>56</td>\n",
       "      <td>12</td>\n",
       "      <td>39</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>59</td>\n",
       "      <td>12</td>\n",
       "      <td>42</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 27 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   date_block_num  shop_id  item_id  item_cnt_month  shop_type_code  \\\n",
       "0               0       59    22154             1.0               1   \n",
       "1               0       59     2552             0.0               1   \n",
       "2               0       59     2554             0.0               1   \n",
       "3               0       59     2555             0.0               1   \n",
       "4               0       59     2564             0.0               1   \n",
       "\n",
       "   shop_city_code  item_category_id  item_type_code  sub_type_code  year  ...  \\\n",
       "0              29                37              10             21  2013  ...   \n",
       "1              29                58              12             41  2013  ...   \n",
       "2              29                58              12             41  2013  ...   \n",
       "3              29                56              12             39  2013  ...   \n",
       "4              29                59              12             42  2013  ...   \n",
       "\n",
       "   item_cnt_month_lag_1  item_cnt_month_lag_2  item_cnt_month_lag_3  \\\n",
       "0                   NaN                   NaN                   NaN   \n",
       "1                   NaN                   NaN                   NaN   \n",
       "2                   NaN                   NaN                   NaN   \n",
       "3                   NaN                   NaN                   NaN   \n",
       "4                   NaN                   NaN                   NaN   \n",
       "\n",
       "   item_cnt_month_lag_6  item_cnt_month_lag_12  item_cnt_month_avg_lag_1  \\\n",
       "0                   NaN                    NaN                       NaN   \n",
       "1                   NaN                    NaN                       NaN   \n",
       "2                   NaN                    NaN                       NaN   \n",
       "3                   NaN                    NaN                       NaN   \n",
       "4                   NaN                    NaN                       NaN   \n",
       "\n",
       "   item_cnt_month_avg_lag_2  item_cnt_month_avg_lag_3  \\\n",
       "0                       NaN                       NaN   \n",
       "1                       NaN                       NaN   \n",
       "2                       NaN                       NaN   \n",
       "3                       NaN                       NaN   \n",
       "4                       NaN                       NaN   \n",
       "\n",
       "   item_cnt_month_avg_lag_6  item_cnt_month_avg_lag_12  \n",
       "0                       NaN                        NaN  \n",
       "1                       NaN                        NaN  \n",
       "2                       NaN                        NaN  \n",
       "3                       NaN                        NaN  \n",
       "4                       NaN                        NaN  \n",
       "\n",
       "[5 rows x 27 columns]"
      ]
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "martix = lag_feature(martix, [1,2,3,6,12], 'item_cnt_month_avg')\n",
    "# martix = lag_feature(martix, [1,2,3,6,12], 'shop_cnt_month_avg')\n",
    "martix.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "martix.drop(columns=[ 'item_cnt_month_avg'], inplace=True)  # 只保留特征的历史信息\n",
    "gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>shop_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>year</th>\n",
       "      <th>...</th>\n",
       "      <th>cat_cnt_month_avg_lag_1_x</th>\n",
       "      <th>cat_cnt_month_avg_lag_2_x</th>\n",
       "      <th>cat_cnt_month_avg_lag_3_x</th>\n",
       "      <th>cat_cnt_month_avg_lag_6_x</th>\n",
       "      <th>cat_cnt_month_avg_lag_12_x</th>\n",
       "      <th>cat_cnt_month_avg_lag_1_y</th>\n",
       "      <th>cat_cnt_month_avg_lag_2_y</th>\n",
       "      <th>cat_cnt_month_avg_lag_3_y</th>\n",
       "      <th>cat_cnt_month_avg_lag_6_y</th>\n",
       "      <th>cat_cnt_month_avg_lag_12_y</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>56</td>\n",
       "      <td>12</td>\n",
       "      <td>39</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>59</td>\n",
       "      <td>12</td>\n",
       "      <td>42</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 36 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   date_block_num  shop_id  item_id  item_cnt_month  shop_type_code  \\\n",
       "0               0       59    22154             1.0               1   \n",
       "1               0       59     2552             0.0               1   \n",
       "2               0       59     2554             0.0               1   \n",
       "3               0       59     2555             0.0               1   \n",
       "4               0       59     2564             0.0               1   \n",
       "\n",
       "   shop_city_code  item_category_id  item_type_code  sub_type_code  year  ...  \\\n",
       "0              29                37              10             21  2013  ...   \n",
       "1              29                58              12             41  2013  ...   \n",
       "2              29                58              12             41  2013  ...   \n",
       "3              29                56              12             39  2013  ...   \n",
       "4              29                59              12             42  2013  ...   \n",
       "\n",
       "   cat_cnt_month_avg_lag_1_x  cat_cnt_month_avg_lag_2_x  \\\n",
       "0                        NaN                        NaN   \n",
       "1                        NaN                        NaN   \n",
       "2                        NaN                        NaN   \n",
       "3                        NaN                        NaN   \n",
       "4                        NaN                        NaN   \n",
       "\n",
       "   cat_cnt_month_avg_lag_3_x  cat_cnt_month_avg_lag_6_x  \\\n",
       "0                        NaN                        NaN   \n",
       "1                        NaN                        NaN   \n",
       "2                        NaN                        NaN   \n",
       "3                        NaN                        NaN   \n",
       "4                        NaN                        NaN   \n",
       "\n",
       "   cat_cnt_month_avg_lag_12_x  cat_cnt_month_avg_lag_1_y  \\\n",
       "0                         NaN                        NaN   \n",
       "1                         NaN                        NaN   \n",
       "2                         NaN                        NaN   \n",
       "3                         NaN                        NaN   \n",
       "4                         NaN                        NaN   \n",
       "\n",
       "   cat_cnt_month_avg_lag_2_y  cat_cnt_month_avg_lag_3_y  \\\n",
       "0                        NaN                        NaN   \n",
       "1                        NaN                        NaN   \n",
       "2                        NaN                        NaN   \n",
       "3                        NaN                        NaN   \n",
       "4                        NaN                        NaN   \n",
       "\n",
       "   cat_cnt_month_avg_lag_6_y  cat_cnt_month_avg_lag_12_y  \n",
       "0                        NaN                         NaN  \n",
       "1                        NaN                         NaN  \n",
       "2                        NaN                         NaN  \n",
       "3                        NaN                         NaN  \n",
       "4                        NaN                         NaN  \n",
       "\n",
       "[5 rows x 36 columns]"
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "martix = lag_feature(martix, [1,2,3,6,12], 'cat_cnt_month_avg')\n",
    "# martix = lag_feature(martix, [1,2,3,6,12], 'shop_cat_cnt_month_avg')\n",
    "martix.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [],
   "source": [
    "martix.drop(columns=['cat_cnt_month_avg'], inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>shop_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>year</th>\n",
       "      <th>...</th>\n",
       "      <th>itemtype_cnt_month_avg_lag_1</th>\n",
       "      <th>itemtype_cnt_month_avg_lag_2</th>\n",
       "      <th>itemtype_cnt_month_avg_lag_3</th>\n",
       "      <th>itemtype_cnt_month_avg_lag_6</th>\n",
       "      <th>itemtype_cnt_month_avg_lag_12</th>\n",
       "      <th>subtype_cnt_month_avg_lag_1</th>\n",
       "      <th>subtype_cnt_month_avg_lag_2</th>\n",
       "      <th>subtype_cnt_month_avg_lag_3</th>\n",
       "      <th>subtype_cnt_month_avg_lag_6</th>\n",
       "      <th>subtype_cnt_month_avg_lag_12</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>56</td>\n",
       "      <td>12</td>\n",
       "      <td>39</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>59</td>\n",
       "      <td>12</td>\n",
       "      <td>42</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 45 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   date_block_num  shop_id  item_id  item_cnt_month  shop_type_code  \\\n",
       "0               0       59    22154             1.0               1   \n",
       "1               0       59     2552             0.0               1   \n",
       "2               0       59     2554             0.0               1   \n",
       "3               0       59     2555             0.0               1   \n",
       "4               0       59     2564             0.0               1   \n",
       "\n",
       "   shop_city_code  item_category_id  item_type_code  sub_type_code  year  ...  \\\n",
       "0              29                37              10             21  2013  ...   \n",
       "1              29                58              12             41  2013  ...   \n",
       "2              29                58              12             41  2013  ...   \n",
       "3              29                56              12             39  2013  ...   \n",
       "4              29                59              12             42  2013  ...   \n",
       "\n",
       "   itemtype_cnt_month_avg_lag_1  itemtype_cnt_month_avg_lag_2  \\\n",
       "0                           NaN                           NaN   \n",
       "1                           NaN                           NaN   \n",
       "2                           NaN                           NaN   \n",
       "3                           NaN                           NaN   \n",
       "4                           NaN                           NaN   \n",
       "\n",
       "   itemtype_cnt_month_avg_lag_3  itemtype_cnt_month_avg_lag_6  \\\n",
       "0                           NaN                           NaN   \n",
       "1                           NaN                           NaN   \n",
       "2                           NaN                           NaN   \n",
       "3                           NaN                           NaN   \n",
       "4                           NaN                           NaN   \n",
       "\n",
       "   itemtype_cnt_month_avg_lag_12  subtype_cnt_month_avg_lag_1  \\\n",
       "0                            NaN                          NaN   \n",
       "1                            NaN                          NaN   \n",
       "2                            NaN                          NaN   \n",
       "3                            NaN                          NaN   \n",
       "4                            NaN                          NaN   \n",
       "\n",
       "   subtype_cnt_month_avg_lag_2  subtype_cnt_month_avg_lag_3  \\\n",
       "0                          NaN                          NaN   \n",
       "1                          NaN                          NaN   \n",
       "2                          NaN                          NaN   \n",
       "3                          NaN                          NaN   \n",
       "4                          NaN                          NaN   \n",
       "\n",
       "   subtype_cnt_month_avg_lag_6  subtype_cnt_month_avg_lag_12  \n",
       "0                          NaN                           NaN  \n",
       "1                          NaN                           NaN  \n",
       "2                          NaN                           NaN  \n",
       "3                          NaN                           NaN  \n",
       "4                          NaN                           NaN  \n",
       "\n",
       "[5 rows x 45 columns]"
      ]
     },
     "execution_count": 102,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "martix = lag_feature(martix, [1,2,3,6,12], 'itemtype_cnt_month_avg')\n",
    "martix = lag_feature(martix, [1,2,3,6,12], 'subtype_cnt_month_avg')\n",
    "martix.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [],
   "source": [
    "martix.drop(columns=['itemtype_cnt_month_avg', 'subtype_cnt_month_avg'], inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>shop_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>year</th>\n",
       "      <th>...</th>\n",
       "      <th>city_item_cnt_month_avg_lag_1</th>\n",
       "      <th>city_item_cnt_month_avg_lag_2</th>\n",
       "      <th>city_item_cnt_month_avg_lag_3</th>\n",
       "      <th>city_item_cnt_month_avg_lag_6</th>\n",
       "      <th>city_item_cnt_month_avg_lag_12</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_1</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_2</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_3</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_6</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_12</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>56</td>\n",
       "      <td>12</td>\n",
       "      <td>39</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>59</td>\n",
       "      <td>12</td>\n",
       "      <td>42</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 53 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   date_block_num  shop_id  item_id  item_cnt_month  shop_type_code  \\\n",
       "0               0       59    22154             1.0               1   \n",
       "1               0       59     2552             0.0               1   \n",
       "2               0       59     2554             0.0               1   \n",
       "3               0       59     2555             0.0               1   \n",
       "4               0       59     2564             0.0               1   \n",
       "\n",
       "   shop_city_code  item_category_id  item_type_code  sub_type_code  year  ...  \\\n",
       "0              29                37              10             21  2013  ...   \n",
       "1              29                58              12             41  2013  ...   \n",
       "2              29                58              12             41  2013  ...   \n",
       "3              29                56              12             39  2013  ...   \n",
       "4              29                59              12             42  2013  ...   \n",
       "\n",
       "   city_item_cnt_month_avg_lag_1  city_item_cnt_month_avg_lag_2  \\\n",
       "0                            NaN                            NaN   \n",
       "1                            NaN                            NaN   \n",
       "2                            NaN                            NaN   \n",
       "3                            NaN                            NaN   \n",
       "4                            NaN                            NaN   \n",
       "\n",
       "   city_item_cnt_month_avg_lag_3  city_item_cnt_month_avg_lag_6  \\\n",
       "0                            NaN                            NaN   \n",
       "1                            NaN                            NaN   \n",
       "2                            NaN                            NaN   \n",
       "3                            NaN                            NaN   \n",
       "4                            NaN                            NaN   \n",
       "\n",
       "   city_item_cnt_month_avg_lag_12  shoptype_item_cnt_month_avg_lag_1  \\\n",
       "0                             NaN                                NaN   \n",
       "1                             NaN                                NaN   \n",
       "2                             NaN                                NaN   \n",
       "3                             NaN                                NaN   \n",
       "4                             NaN                                NaN   \n",
       "\n",
       "   shoptype_item_cnt_month_avg_lag_2  shoptype_item_cnt_month_avg_lag_3  \\\n",
       "0                                NaN                                NaN   \n",
       "1                                NaN                                NaN   \n",
       "2                                NaN                                NaN   \n",
       "3                                NaN                                NaN   \n",
       "4                                NaN                                NaN   \n",
       "\n",
       "   shoptype_item_cnt_month_avg_lag_6  shoptype_item_cnt_month_avg_lag_12  \n",
       "0                                NaN                                 NaN  \n",
       "1                                NaN                                 NaN  \n",
       "2                                NaN                                 NaN  \n",
       "3                                NaN                                 NaN  \n",
       "4                                NaN                                 NaN  \n",
       "\n",
       "[5 rows x 53 columns]"
      ]
     },
     "execution_count": 104,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "martix = lag_feature(martix, [1,2,3,6,12], 'city_item_cnt_month_avg')\n",
    "martix = lag_feature(martix, [1,2,3,6,12], 'shoptype_item_cnt_month_avg')\n",
    "martix.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>shop_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>year</th>\n",
       "      <th>...</th>\n",
       "      <th>city_item_cnt_month_avg_lag_1</th>\n",
       "      <th>city_item_cnt_month_avg_lag_2</th>\n",
       "      <th>city_item_cnt_month_avg_lag_3</th>\n",
       "      <th>city_item_cnt_month_avg_lag_6</th>\n",
       "      <th>city_item_cnt_month_avg_lag_12</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_1</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_2</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_3</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_6</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_12</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>22154</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2552</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2554</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>58</td>\n",
       "      <td>12</td>\n",
       "      <td>41</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2555</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>56</td>\n",
       "      <td>12</td>\n",
       "      <td>39</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "      <td>2564</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>59</td>\n",
       "      <td>12</td>\n",
       "      <td>42</td>\n",
       "      <td>2013</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054935</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>18454</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>38</td>\n",
       "      <td>2015</td>\n",
       "      <td>...</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.111111</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.052632</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054936</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>16188</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>64</td>\n",
       "      <td>13</td>\n",
       "      <td>47</td>\n",
       "      <td>2015</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.05</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054937</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>15757</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>38</td>\n",
       "      <td>2015</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.166667</td>\n",
       "      <td>0.10</td>\n",
       "      <td>0.105263</td>\n",
       "      <td>0.142857</td>\n",
       "      <td>0.250000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054938</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>19648</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>40</td>\n",
       "      <td>10</td>\n",
       "      <td>24</td>\n",
       "      <td>2015</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.055556</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.263158</td>\n",
       "      <td>0.142857</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054939</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>969</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2015</td>\n",
       "      <td>...</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.111111</td>\n",
       "      <td>0.15</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.095238</td>\n",
       "      <td>0.041667</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>11054940 rows × 51 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          date_block_num  shop_id  item_id  item_cnt_month  shop_type_code  \\\n",
       "0                      0       59    22154             1.0               1   \n",
       "1                      0       59     2552             0.0               1   \n",
       "2                      0       59     2554             0.0               1   \n",
       "3                      0       59     2555             0.0               1   \n",
       "4                      0       59     2564             0.0               1   \n",
       "...                  ...      ...      ...             ...             ...   \n",
       "11054935              34       45    18454             0.0               1   \n",
       "11054936              34       45    16188             0.0               1   \n",
       "11054937              34       45    15757             0.0               1   \n",
       "11054938              34       45    19648             0.0               1   \n",
       "11054939              34       45      969             0.0               1   \n",
       "\n",
       "          shop_city_code  item_category_id  item_type_code  sub_type_code  \\\n",
       "0                     29                37              10             21   \n",
       "1                     29                58              12             41   \n",
       "2                     29                58              12             41   \n",
       "3                     29                56              12             39   \n",
       "4                     29                59              12             42   \n",
       "...                  ...               ...             ...            ...   \n",
       "11054935              21                55              12             38   \n",
       "11054936              21                64              13             47   \n",
       "11054937              21                55              12             38   \n",
       "11054938              21                40              10             24   \n",
       "11054939              21                37              10             21   \n",
       "\n",
       "          year  ...  city_item_cnt_month_avg_lag_1  \\\n",
       "0         2013  ...                            NaN   \n",
       "1         2013  ...                            NaN   \n",
       "2         2013  ...                            NaN   \n",
       "3         2013  ...                            NaN   \n",
       "4         2013  ...                            NaN   \n",
       "...        ...  ...                            ...   \n",
       "11054935  2015  ...                            0.5   \n",
       "11054936  2015  ...                            0.0   \n",
       "11054937  2015  ...                            0.0   \n",
       "11054938  2015  ...                            0.0   \n",
       "11054939  2015  ...                            0.5   \n",
       "\n",
       "          city_item_cnt_month_avg_lag_2  city_item_cnt_month_avg_lag_3  \\\n",
       "0                                   NaN                            NaN   \n",
       "1                                   NaN                            NaN   \n",
       "2                                   NaN                            NaN   \n",
       "3                                   NaN                            NaN   \n",
       "4                                   NaN                            NaN   \n",
       "...                                 ...                            ...   \n",
       "11054935                            0.0                            0.0   \n",
       "11054936                            0.0                            NaN   \n",
       "11054937                            0.5                            0.0   \n",
       "11054938                            0.0                            0.0   \n",
       "11054939                            0.0                            0.0   \n",
       "\n",
       "          city_item_cnt_month_avg_lag_6  city_item_cnt_month_avg_lag_12  \\\n",
       "0                                   NaN                             NaN   \n",
       "1                                   NaN                             NaN   \n",
       "2                                   NaN                             NaN   \n",
       "3                                   NaN                             NaN   \n",
       "4                                   NaN                             NaN   \n",
       "...                                 ...                             ...   \n",
       "11054935                            0.0                             NaN   \n",
       "11054936                            NaN                             NaN   \n",
       "11054937                            0.0                             0.0   \n",
       "11054938                            0.0                             NaN   \n",
       "11054939                            0.0                             0.0   \n",
       "\n",
       "          shoptype_item_cnt_month_avg_lag_1  \\\n",
       "0                                       NaN   \n",
       "1                                       NaN   \n",
       "2                                       NaN   \n",
       "3                                       NaN   \n",
       "4                                       NaN   \n",
       "...                                     ...   \n",
       "11054935                           0.111111   \n",
       "11054936                           0.000000   \n",
       "11054937                           0.166667   \n",
       "11054938                           0.055556   \n",
       "11054939                           0.111111   \n",
       "\n",
       "          shoptype_item_cnt_month_avg_lag_2  \\\n",
       "0                                       NaN   \n",
       "1                                       NaN   \n",
       "2                                       NaN   \n",
       "3                                       NaN   \n",
       "4                                       NaN   \n",
       "...                                     ...   \n",
       "11054935                               0.00   \n",
       "11054936                               0.05   \n",
       "11054937                               0.10   \n",
       "11054938                               0.05   \n",
       "11054939                               0.15   \n",
       "\n",
       "          shoptype_item_cnt_month_avg_lag_3  \\\n",
       "0                                       NaN   \n",
       "1                                       NaN   \n",
       "2                                       NaN   \n",
       "3                                       NaN   \n",
       "4                                       NaN   \n",
       "...                                     ...   \n",
       "11054935                           0.052632   \n",
       "11054936                                NaN   \n",
       "11054937                           0.105263   \n",
       "11054938                           0.263158   \n",
       "11054939                           0.000000   \n",
       "\n",
       "          shoptype_item_cnt_month_avg_lag_6  \\\n",
       "0                                       NaN   \n",
       "1                                       NaN   \n",
       "2                                       NaN   \n",
       "3                                       NaN   \n",
       "4                                       NaN   \n",
       "...                                     ...   \n",
       "11054935                           0.666667   \n",
       "11054936                                NaN   \n",
       "11054937                           0.142857   \n",
       "11054938                           0.142857   \n",
       "11054939                           0.095238   \n",
       "\n",
       "          shoptype_item_cnt_month_avg_lag_12  \n",
       "0                                        NaN  \n",
       "1                                        NaN  \n",
       "2                                        NaN  \n",
       "3                                        NaN  \n",
       "4                                        NaN  \n",
       "...                                      ...  \n",
       "11054935                                 NaN  \n",
       "11054936                                 NaN  \n",
       "11054937                            0.250000  \n",
       "11054938                                 NaN  \n",
       "11054939                            0.041667  \n",
       "\n",
       "[11054940 rows x 51 columns]"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "martix.drop(columns=[ 'city_item_cnt_month_avg','shoptype_item_cnt_month_avg'], inplace=True)\n",
    "martix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "date_block_num              False\n",
       "shop_id                     False\n",
       "item_id                     False\n",
       "item_cnt_month              False\n",
       "shop_type_code              False\n",
       "shop_city_code              False\n",
       "item_category_id            False\n",
       "item_type_code              False\n",
       "sub_type_code               False\n",
       "year                        False\n",
       "month                       False\n",
       "item_cnt_month_lag_1         True\n",
       "item_cnt_month_lag_2         True\n",
       "item_cnt_month_lag_3         True\n",
       "item_cnt_month_lag_6         True\n",
       "item_cnt_month_lag_12        True\n",
       "item_cnt_month_avg_lag_1     True\n",
       "item_cnt_month_avg_lag_2     True\n",
       "item_cnt_month_avg_lag_3     True\n",
       "item_cnt_month_avg_lag_6     True\n",
       "dtype: bool"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "martix[martix.columns[:20]].isna().any()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "      <th>shop_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>year</th>\n",
       "      <th>...</th>\n",
       "      <th>city_item_cnt_month_avg_lag_1</th>\n",
       "      <th>city_item_cnt_month_avg_lag_2</th>\n",
       "      <th>city_item_cnt_month_avg_lag_3</th>\n",
       "      <th>city_item_cnt_month_avg_lag_6</th>\n",
       "      <th>city_item_cnt_month_avg_lag_12</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_1</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_2</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_3</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_6</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_12</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>4487706</th>\n",
       "      <td>12</td>\n",
       "      <td>54</td>\n",
       "      <td>10297</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>27</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2014</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.080000</td>\n",
       "      <td>0.08</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4487707</th>\n",
       "      <td>12</td>\n",
       "      <td>54</td>\n",
       "      <td>10296</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1</td>\n",
       "      <td>27</td>\n",
       "      <td>38</td>\n",
       "      <td>10</td>\n",
       "      <td>22</td>\n",
       "      <td>2014</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.480000</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4487708</th>\n",
       "      <td>12</td>\n",
       "      <td>54</td>\n",
       "      <td>10298</td>\n",
       "      <td>14.0</td>\n",
       "      <td>1</td>\n",
       "      <td>27</td>\n",
       "      <td>40</td>\n",
       "      <td>10</td>\n",
       "      <td>24</td>\n",
       "      <td>2014</td>\n",
       "      <td>...</td>\n",
       "      <td>21.0</td>\n",
       "      <td>119.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8.320000</td>\n",
       "      <td>33.68</td>\n",
       "      <td>3.520000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4487709</th>\n",
       "      <td>12</td>\n",
       "      <td>54</td>\n",
       "      <td>10300</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1</td>\n",
       "      <td>27</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2014</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>31.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.040000</td>\n",
       "      <td>8.24</td>\n",
       "      <td>1.120000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4487710</th>\n",
       "      <td>12</td>\n",
       "      <td>54</td>\n",
       "      <td>10284</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>27</td>\n",
       "      <td>57</td>\n",
       "      <td>12</td>\n",
       "      <td>40</td>\n",
       "      <td>2014</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.080000</td>\n",
       "      <td>0.04</td>\n",
       "      <td>0.160000</td>\n",
       "      <td>0.115385</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054935</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>18454</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>38</td>\n",
       "      <td>2015</td>\n",
       "      <td>...</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.111111</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.052632</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054936</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>16188</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>64</td>\n",
       "      <td>13</td>\n",
       "      <td>47</td>\n",
       "      <td>2015</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054937</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>15757</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>38</td>\n",
       "      <td>2015</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.166667</td>\n",
       "      <td>0.10</td>\n",
       "      <td>0.105263</td>\n",
       "      <td>0.142857</td>\n",
       "      <td>0.250000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054938</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>19648</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>40</td>\n",
       "      <td>10</td>\n",
       "      <td>24</td>\n",
       "      <td>2015</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.055556</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.263158</td>\n",
       "      <td>0.142857</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054939</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>969</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2015</td>\n",
       "      <td>...</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.111111</td>\n",
       "      <td>0.15</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.095238</td>\n",
       "      <td>0.041667</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>6567234 rows × 51 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          date_block_num  shop_id  item_id  item_cnt_month  shop_type_code  \\\n",
       "4487706               12       54    10297             4.0               1   \n",
       "4487707               12       54    10296             3.0               1   \n",
       "4487708               12       54    10298            14.0               1   \n",
       "4487709               12       54    10300             3.0               1   \n",
       "4487710               12       54    10284             1.0               1   \n",
       "...                  ...      ...      ...             ...             ...   \n",
       "11054935              34       45    18454             0.0               1   \n",
       "11054936              34       45    16188             0.0               1   \n",
       "11054937              34       45    15757             0.0               1   \n",
       "11054938              34       45    19648             0.0               1   \n",
       "11054939              34       45      969             0.0               1   \n",
       "\n",
       "          shop_city_code  item_category_id  item_type_code  sub_type_code  \\\n",
       "4487706               27                37              10             21   \n",
       "4487707               27                38              10             22   \n",
       "4487708               27                40              10             24   \n",
       "4487709               27                37              10             21   \n",
       "4487710               27                57              12             40   \n",
       "...                  ...               ...             ...            ...   \n",
       "11054935              21                55              12             38   \n",
       "11054936              21                64              13             47   \n",
       "11054937              21                55              12             38   \n",
       "11054938              21                40              10             24   \n",
       "11054939              21                37              10             21   \n",
       "\n",
       "          year  ...  city_item_cnt_month_avg_lag_1  \\\n",
       "4487706   2014  ...                            3.0   \n",
       "4487707   2014  ...                            0.0   \n",
       "4487708   2014  ...                           21.0   \n",
       "4487709   2014  ...                            1.0   \n",
       "4487710   2014  ...                            0.0   \n",
       "...        ...  ...                            ...   \n",
       "11054935  2015  ...                            0.5   \n",
       "11054936  2015  ...                            0.0   \n",
       "11054937  2015  ...                            0.0   \n",
       "11054938  2015  ...                            0.0   \n",
       "11054939  2015  ...                            0.5   \n",
       "\n",
       "          city_item_cnt_month_avg_lag_2  city_item_cnt_month_avg_lag_3  \\\n",
       "4487706                             0.0                            0.0   \n",
       "4487707                             0.0                            0.0   \n",
       "4487708                           119.0                            7.0   \n",
       "4487709                            31.0                            0.0   \n",
       "4487710                             0.0                            0.0   \n",
       "...                                 ...                            ...   \n",
       "11054935                            0.0                            0.0   \n",
       "11054936                            0.0                            0.0   \n",
       "11054937                            0.5                            0.0   \n",
       "11054938                            0.0                            0.0   \n",
       "11054939                            0.0                            0.0   \n",
       "\n",
       "          city_item_cnt_month_avg_lag_6  city_item_cnt_month_avg_lag_12  \\\n",
       "4487706                             0.0                             0.0   \n",
       "4487707                             0.0                             0.0   \n",
       "4487708                             0.0                             0.0   \n",
       "4487709                             0.0                             0.0   \n",
       "4487710                             1.0                             0.0   \n",
       "...                                 ...                             ...   \n",
       "11054935                            0.0                             0.0   \n",
       "11054936                            0.0                             0.0   \n",
       "11054937                            0.0                             0.0   \n",
       "11054938                            0.0                             0.0   \n",
       "11054939                            0.0                             0.0   \n",
       "\n",
       "          shoptype_item_cnt_month_avg_lag_1  \\\n",
       "4487706                            1.080000   \n",
       "4487707                            0.480000   \n",
       "4487708                            8.320000   \n",
       "4487709                            1.040000   \n",
       "4487710                            0.080000   \n",
       "...                                     ...   \n",
       "11054935                           0.111111   \n",
       "11054936                           0.000000   \n",
       "11054937                           0.166667   \n",
       "11054938                           0.055556   \n",
       "11054939                           0.111111   \n",
       "\n",
       "          shoptype_item_cnt_month_avg_lag_2  \\\n",
       "4487706                                0.08   \n",
       "4487707                                0.00   \n",
       "4487708                               33.68   \n",
       "4487709                                8.24   \n",
       "4487710                                0.04   \n",
       "...                                     ...   \n",
       "11054935                               0.00   \n",
       "11054936                               0.05   \n",
       "11054937                               0.10   \n",
       "11054938                               0.05   \n",
       "11054939                               0.15   \n",
       "\n",
       "          shoptype_item_cnt_month_avg_lag_3  \\\n",
       "4487706                            0.000000   \n",
       "4487707                            0.000000   \n",
       "4487708                            3.520000   \n",
       "4487709                            1.120000   \n",
       "4487710                            0.160000   \n",
       "...                                     ...   \n",
       "11054935                           0.052632   \n",
       "11054936                           0.000000   \n",
       "11054937                           0.105263   \n",
       "11054938                           0.263158   \n",
       "11054939                           0.000000   \n",
       "\n",
       "          shoptype_item_cnt_month_avg_lag_6  \\\n",
       "4487706                            0.000000   \n",
       "4487707                            0.000000   \n",
       "4487708                            0.000000   \n",
       "4487709                            0.000000   \n",
       "4487710                            0.115385   \n",
       "...                                     ...   \n",
       "11054935                           0.666667   \n",
       "11054936                           0.000000   \n",
       "11054937                           0.142857   \n",
       "11054938                           0.142857   \n",
       "11054939                           0.095238   \n",
       "\n",
       "          shoptype_item_cnt_month_avg_lag_12  \n",
       "4487706                             0.000000  \n",
       "4487707                             0.000000  \n",
       "4487708                             0.000000  \n",
       "4487709                             0.000000  \n",
       "4487710                             0.000000  \n",
       "...                                      ...  \n",
       "11054935                            0.000000  \n",
       "11054936                            0.000000  \n",
       "11054937                            0.250000  \n",
       "11054938                            0.000000  \n",
       "11054939                            0.041667  \n",
       "\n",
       "[6567234 rows x 51 columns]"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_set = martix[martix['date_block_num'] > 11].fillna(0)\n",
    "train_set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 6567234 entries, 4487706 to 11054939\n",
      "Data columns (total 51 columns):\n",
      " #   Column                              Dtype   \n",
      "---  ------                              -----   \n",
      " 0   date_block_num                      int16   \n",
      " 1   shop_id                             int16   \n",
      " 2   item_id                             int16   \n",
      " 3   item_cnt_month                      float32 \n",
      " 4   shop_type_code                      int8    \n",
      " 5   shop_city_code                      int8    \n",
      " 6   item_category_id                    int16   \n",
      " 7   item_type_code                      category\n",
      " 8   sub_type_code                       category\n",
      " 9   year                                int16   \n",
      " 10  month                               int16   \n",
      " 11  item_cnt_month_lag_1                float32 \n",
      " 12  item_cnt_month_lag_2                float32 \n",
      " 13  item_cnt_month_lag_3                float32 \n",
      " 14  item_cnt_month_lag_6                float32 \n",
      " 15  item_cnt_month_lag_12               float32 \n",
      " 16  item_cnt_month_avg_lag_1            float32 \n",
      " 17  item_cnt_month_avg_lag_2            float32 \n",
      " 18  item_cnt_month_avg_lag_3            float32 \n",
      " 19  item_cnt_month_avg_lag_6            float32 \n",
      " 20  item_cnt_month_avg_lag_12           float32 \n",
      " 21  cat_cnt_month_avg_lag_1_x           float32 \n",
      " 22  cat_cnt_month_avg_lag_2_x           float32 \n",
      " 23  cat_cnt_month_avg_lag_3_x           float32 \n",
      " 24  cat_cnt_month_avg_lag_6_x           float32 \n",
      " 25  cat_cnt_month_avg_lag_12_x          float32 \n",
      " 26  cat_cnt_month_avg_lag_1_y           float32 \n",
      " 27  cat_cnt_month_avg_lag_2_y           float32 \n",
      " 28  cat_cnt_month_avg_lag_3_y           float32 \n",
      " 29  cat_cnt_month_avg_lag_6_y           float32 \n",
      " 30  cat_cnt_month_avg_lag_12_y          float32 \n",
      " 31  itemtype_cnt_month_avg_lag_1        float32 \n",
      " 32  itemtype_cnt_month_avg_lag_2        float32 \n",
      " 33  itemtype_cnt_month_avg_lag_3        float32 \n",
      " 34  itemtype_cnt_month_avg_lag_6        float32 \n",
      " 35  itemtype_cnt_month_avg_lag_12       float32 \n",
      " 36  subtype_cnt_month_avg_lag_1         float32 \n",
      " 37  subtype_cnt_month_avg_lag_2         float32 \n",
      " 38  subtype_cnt_month_avg_lag_3         float32 \n",
      " 39  subtype_cnt_month_avg_lag_6         float32 \n",
      " 40  subtype_cnt_month_avg_lag_12        float32 \n",
      " 41  city_item_cnt_month_avg_lag_1       float32 \n",
      " 42  city_item_cnt_month_avg_lag_2       float32 \n",
      " 43  city_item_cnt_month_avg_lag_3       float32 \n",
      " 44  city_item_cnt_month_avg_lag_6       float32 \n",
      " 45  city_item_cnt_month_avg_lag_12      float32 \n",
      " 46  shoptype_item_cnt_month_avg_lag_1   float32 \n",
      " 47  shoptype_item_cnt_month_avg_lag_2   float32 \n",
      " 48  shoptype_item_cnt_month_avg_lag_3   float32 \n",
      " 49  shoptype_item_cnt_month_avg_lag_6   float32 \n",
      " 50  shoptype_item_cnt_month_avg_lag_12  float32 \n",
      "dtypes: category(2), float32(41), int16(6), int8(2)\n",
      "memory usage: 1.1 GB\n"
     ]
    }
   ],
   "source": [
    "for col in train_set.columns:\n",
    "    if col.find('code') >= 0:\n",
    "        train_set[col] = train_set[col].astype(np.int8)\n",
    "    elif train_set[col].dtype == 'float64':\n",
    "        train_set[col] = train_set[col].astype(np.float32)\n",
    "    elif train_set[col].dtype == 'int64':\n",
    "        train_set[col] = train_set[col].astype(np.int16)\n",
    "        \n",
    "train_set['item_type_code'] = train_set['item_type_code'].astype('category')\n",
    "train_set['sub_type_code'] = train_set['sub_type_code'].astype('category')\n",
    "train_set.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda3\\lib\\site-packages\\dask\\dataframe\\utils.py:13: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.\n",
      "  import pandas.util.testing as tm\n"
     ]
    }
   ],
   "source": [
    "import lightgbm as lgb\n",
    "\n",
    "\n",
    "X_train = train_set[train_set['date_block_num'] < 33].drop(columns=['item_cnt_month'])  # 训练集的样本特征\n",
    "Y_train = train_set[train_set['date_block_num'] < 33]['item_cnt_month']  # 训练集的样本标签\n",
    "\n",
    "X_validate = train_set[train_set['date_block_num'] == 33].drop(columns=['item_cnt_month'])  # 校对集\n",
    "Y_validate = train_set[train_set['date_block_num'] == 33]['item_cnt_month']\n",
    "\n",
    "X_test = train_set[train_set['date_block_num'] == 34].drop(columns=['item_cnt_month'])  # 测试集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 110,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "del train_set\n",
    "gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 把数据加载为模型适合的数据格式\n",
    "train_data = lgb.Dataset(data=X_train, label=Y_train)\n",
    "validate_data = lgb.Dataset(data=X_validate, label=Y_validate)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Start.... 1639231219.7699556\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda3\\lib\\site-packages\\lightgbm\\engine.py:177: UserWarning: Found `n_estimators` in params. Will use it instead of argument\n",
      "  _log_warning(f\"Found `{alias}` in params. Will use it instead of argument\")\n",
      "D:\\anaconda3\\lib\\site-packages\\lightgbm\\engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.\n",
      "  _log_warning(\"'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. \"\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[LightGBM] [Warning] Auto-choosing row-wise multi-threading, the overhead of testing was 0.352098 seconds.\n",
      "You can set `force_row_wise=true` to remove the overhead.\n",
      "And if memory is not enough, you can set `force_col_wise=true`.\n",
      "[LightGBM] [Info] Total Bins 9637\n",
      "[LightGBM] [Info] Number of data points in the train set: 6114862, number of used features: 50\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\anaconda3\\lib\\site-packages\\lightgbm\\basic.py:1780: UserWarning: Overriding the parameters from Reference Dataset.\n",
      "  _log_warning('Overriding the parameters from Reference Dataset.')\n",
      "D:\\anaconda3\\lib\\site-packages\\lightgbm\\basic.py:1513: UserWarning: categorical_column in param dict is overridden.\n",
      "  _log_warning(f'{cat_alias} in param dict is overridden.')\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[LightGBM] [Info] Start training from score 0.327936\n",
      "Training until validation scores don't improve for 50 rounds\n",
      "Early stopping, best iteration is:\n",
      "[170]\ttraining's rmse: 1.93962\tvalid_1's rmse: 1.61738\n",
      "End... 112.01374864578247\n"
     ]
    }
   ],
   "source": [
    "# 设置模型训练参数\n",
    "import time\n",
    "ts = time.time()\n",
    "params = {\"objective\" : \"regression\", \"metric\" : \"rmse\", 'n_estimators':10000, 'early_stopping_rounds':50,\n",
    "              \"num_leaves\" : 200, \"learning_rate\" : 0.01, \"bagging_fraction\" : 0.9,\n",
    "              \"feature_fraction\" : 0.3, \"bagging_seed\" : 0}\n",
    "print('Start....', ts)\n",
    "lgb_model = lgb.train(params, train_data, valid_sets=[train_data, validate_data], verbose_eval=1000) \n",
    "print('End...', time.time() - ts)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 特征重要性画图\n",
    "lgb.plot_importance(lgb_model, max_num_features=40, figsize=(12, 8))\n",
    "plt.title(\"Featurertances\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<lightgbm.basic.Booster at 0x1392f4c2048>"
      ]
     },
     "execution_count": 114,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lgb_model.save_model('model_bestscore02.txt')  # 保存模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.54639013, 0.28591892, 0.98199448, ..., 0.11993889, 0.1001803 ,\n",
       "       0.13258572])"
      ]
     },
     "execution_count": 115,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 根据项目要求，把数据“裁剪”到[0,20]的区间。\n",
    "Y_test = lgb_model.predict(X_test).clip(0, 20)\n",
    "Y_test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date_block_num</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>shop_type_code</th>\n",
       "      <th>shop_city_code</th>\n",
       "      <th>item_category_id</th>\n",
       "      <th>item_type_code</th>\n",
       "      <th>sub_type_code</th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "      <th>...</th>\n",
       "      <th>city_item_cnt_month_avg_lag_2</th>\n",
       "      <th>city_item_cnt_month_avg_lag_3</th>\n",
       "      <th>city_item_cnt_month_avg_lag_6</th>\n",
       "      <th>city_item_cnt_month_avg_lag_12</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_1</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_2</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_3</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_6</th>\n",
       "      <th>shoptype_item_cnt_month_avg_lag_12</th>\n",
       "      <th>item_cnt_month</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>10840740</th>\n",
       "      <td>34</td>\n",
       "      <td>5</td>\n",
       "      <td>5037</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>19</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>2015</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.444444</td>\n",
       "      <td>2.00</td>\n",
       "      <td>4.250000</td>\n",
       "      <td>2.500000</td>\n",
       "      <td>1.250000</td>\n",
       "      <td>0.546390</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10840741</th>\n",
       "      <td>34</td>\n",
       "      <td>5</td>\n",
       "      <td>5320</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>38</td>\n",
       "      <td>2015</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.285919</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10840742</th>\n",
       "      <td>34</td>\n",
       "      <td>5</td>\n",
       "      <td>5233</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>19</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>2015</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.222222</td>\n",
       "      <td>2.50</td>\n",
       "      <td>4.500000</td>\n",
       "      <td>2.125000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.981994</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10840743</th>\n",
       "      <td>34</td>\n",
       "      <td>5</td>\n",
       "      <td>5232</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>23</td>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "      <td>2015</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.555556</td>\n",
       "      <td>1.25</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.319097</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10840744</th>\n",
       "      <td>34</td>\n",
       "      <td>5</td>\n",
       "      <td>5268</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>20</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>2015</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.399421</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054935</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>18454</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>38</td>\n",
       "      <td>2015</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.111111</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.052632</td>\n",
       "      <td>0.666667</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.195066</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054936</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>16188</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>64</td>\n",
       "      <td>13</td>\n",
       "      <td>47</td>\n",
       "      <td>2015</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.119890</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054937</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>15757</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>38</td>\n",
       "      <td>2015</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.166667</td>\n",
       "      <td>0.10</td>\n",
       "      <td>0.105263</td>\n",
       "      <td>0.142857</td>\n",
       "      <td>0.250000</td>\n",
       "      <td>0.119939</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054938</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>19648</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>40</td>\n",
       "      <td>10</td>\n",
       "      <td>24</td>\n",
       "      <td>2015</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.055556</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.263158</td>\n",
       "      <td>0.142857</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.100180</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11054939</th>\n",
       "      <td>34</td>\n",
       "      <td>45</td>\n",
       "      <td>969</td>\n",
       "      <td>1</td>\n",
       "      <td>21</td>\n",
       "      <td>37</td>\n",
       "      <td>10</td>\n",
       "      <td>21</td>\n",
       "      <td>2015</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.111111</td>\n",
       "      <td>0.15</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.095238</td>\n",
       "      <td>0.041667</td>\n",
       "      <td>0.132586</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>214200 rows × 51 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          date_block_num  shop_id  item_id  shop_type_code  shop_city_code  \\\n",
       "10840740              34        5     5037               3               4   \n",
       "10840741              34        5     5320               3               4   \n",
       "10840742              34        5     5233               3               4   \n",
       "10840743              34        5     5232               3               4   \n",
       "10840744              34        5     5268               3               4   \n",
       "...                  ...      ...      ...             ...             ...   \n",
       "11054935              34       45    18454               1              21   \n",
       "11054936              34       45    16188               1              21   \n",
       "11054937              34       45    15757               1              21   \n",
       "11054938              34       45    19648               1              21   \n",
       "11054939              34       45      969               1              21   \n",
       "\n",
       "          item_category_id item_type_code sub_type_code  year  month  ...  \\\n",
       "10840740                19              5             2  2015     10  ...   \n",
       "10840741                55             12            38  2015     10  ...   \n",
       "10840742                19              5             2  2015     10  ...   \n",
       "10840743                23              5             6  2015     10  ...   \n",
       "10840744                20              5             3  2015     10  ...   \n",
       "...                    ...            ...           ...   ...    ...  ...   \n",
       "11054935                55             12            38  2015     10  ...   \n",
       "11054936                64             13            47  2015     10  ...   \n",
       "11054937                55             12            38  2015     10  ...   \n",
       "11054938                40             10            24  2015     10  ...   \n",
       "11054939                37             10            21  2015     10  ...   \n",
       "\n",
       "          city_item_cnt_month_avg_lag_2  city_item_cnt_month_avg_lag_3  \\\n",
       "10840740                            1.0                            3.0   \n",
       "10840741                            0.0                            0.0   \n",
       "10840742                            3.0                            1.0   \n",
       "10840743                            0.0                            1.0   \n",
       "10840744                            0.0                            0.0   \n",
       "...                                 ...                            ...   \n",
       "11054935                            0.0                            0.0   \n",
       "11054936                            0.0                            0.0   \n",
       "11054937                            0.5                            0.0   \n",
       "11054938                            0.0                            0.0   \n",
       "11054939                            0.0                            0.0   \n",
       "\n",
       "          city_item_cnt_month_avg_lag_6  city_item_cnt_month_avg_lag_12  \\\n",
       "10840740                            1.0                             1.0   \n",
       "10840741                            0.0                             0.0   \n",
       "10840742                            3.0                             0.0   \n",
       "10840743                            0.0                             0.0   \n",
       "10840744                            0.0                             0.0   \n",
       "...                                 ...                             ...   \n",
       "11054935                            0.0                             0.0   \n",
       "11054936                            0.0                             0.0   \n",
       "11054937                            0.0                             0.0   \n",
       "11054938                            0.0                             0.0   \n",
       "11054939                            0.0                             0.0   \n",
       "\n",
       "          shoptype_item_cnt_month_avg_lag_1  \\\n",
       "10840740                           0.444444   \n",
       "10840741                           0.000000   \n",
       "10840742                           1.222222   \n",
       "10840743                           0.555556   \n",
       "10840744                           0.000000   \n",
       "...                                     ...   \n",
       "11054935                           0.111111   \n",
       "11054936                           0.000000   \n",
       "11054937                           0.166667   \n",
       "11054938                           0.055556   \n",
       "11054939                           0.111111   \n",
       "\n",
       "          shoptype_item_cnt_month_avg_lag_2  \\\n",
       "10840740                               2.00   \n",
       "10840741                               0.00   \n",
       "10840742                               2.50   \n",
       "10840743                               1.25   \n",
       "10840744                               0.00   \n",
       "...                                     ...   \n",
       "11054935                               0.00   \n",
       "11054936                               0.05   \n",
       "11054937                               0.10   \n",
       "11054938                               0.05   \n",
       "11054939                               0.15   \n",
       "\n",
       "          shoptype_item_cnt_month_avg_lag_3  \\\n",
       "10840740                           4.250000   \n",
       "10840741                           0.000000   \n",
       "10840742                           4.500000   \n",
       "10840743                           2.000000   \n",
       "10840744                           0.000000   \n",
       "...                                     ...   \n",
       "11054935                           0.052632   \n",
       "11054936                           0.000000   \n",
       "11054937                           0.105263   \n",
       "11054938                           0.263158   \n",
       "11054939                           0.000000   \n",
       "\n",
       "          shoptype_item_cnt_month_avg_lag_6  \\\n",
       "10840740                           2.500000   \n",
       "10840741                           0.000000   \n",
       "10840742                           2.125000   \n",
       "10840743                           0.000000   \n",
       "10840744                           0.000000   \n",
       "...                                     ...   \n",
       "11054935                           0.666667   \n",
       "11054936                           0.000000   \n",
       "11054937                           0.142857   \n",
       "11054938                           0.142857   \n",
       "11054939                           0.095238   \n",
       "\n",
       "          shoptype_item_cnt_month_avg_lag_12  item_cnt_month  \n",
       "10840740                            1.250000        0.546390  \n",
       "10840741                            0.000000        0.285919  \n",
       "10840742                            0.000000        0.981994  \n",
       "10840743                            0.000000        0.319097  \n",
       "10840744                            0.000000        2.399421  \n",
       "...                                      ...             ...  \n",
       "11054935                            0.000000        0.195066  \n",
       "11054936                            0.000000        0.119890  \n",
       "11054937                            0.250000        0.119939  \n",
       "11054938                            0.000000        0.100180  \n",
       "11054939                            0.041667        0.132586  \n",
       "\n",
       "[214200 rows x 51 columns]"
      ]
     },
     "execution_count": 116,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_test['item_cnt_month'] = Y_test\n",
    "X_test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ID</th>\n",
       "      <th>shop_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_cnt_month</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>5037</td>\n",
       "      <td>0.546390</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>5320</td>\n",
       "      <td>0.285919</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>5233</td>\n",
       "      <td>0.981994</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "      <td>5232</td>\n",
       "      <td>0.319097</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>5268</td>\n",
       "      <td>2.399421</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>214195</th>\n",
       "      <td>214195</td>\n",
       "      <td>45</td>\n",
       "      <td>18454</td>\n",
       "      <td>0.195066</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>214196</th>\n",
       "      <td>214196</td>\n",
       "      <td>45</td>\n",
       "      <td>16188</td>\n",
       "      <td>0.119890</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>214197</th>\n",
       "      <td>214197</td>\n",
       "      <td>45</td>\n",
       "      <td>15757</td>\n",
       "      <td>0.119939</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>214198</th>\n",
       "      <td>214198</td>\n",
       "      <td>45</td>\n",
       "      <td>19648</td>\n",
       "      <td>0.100180</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>214199</th>\n",
       "      <td>214199</td>\n",
       "      <td>45</td>\n",
       "      <td>969</td>\n",
       "      <td>0.132586</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>214200 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            ID  shop_id  item_id  item_cnt_month\n",
       "0            0        5     5037        0.546390\n",
       "1            1        5     5320        0.285919\n",
       "2            2        5     5233        0.981994\n",
       "3            3        5     5232        0.319097\n",
       "4            4        5     5268        2.399421\n",
       "...        ...      ...      ...             ...\n",
       "214195  214195       45    18454        0.195066\n",
       "214196  214196       45    16188        0.119890\n",
       "214197  214197       45    15757        0.119939\n",
       "214198  214198       45    19648        0.100180\n",
       "214199  214199       45      969        0.132586\n",
       "\n",
       "[214200 rows x 4 columns]"
      ]
     },
     "execution_count": 117,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result = pd.merge(test[['ID', 'shop_id', 'item_id']],X_test[['shop_id','item_id','item_cnt_month']], \n",
    "on=['shop_id', 'item_id'], how='left')\n",
    "result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "ID                False\n",
       "shop_id           False\n",
       "item_id           False\n",
       "item_cnt_month    False\n",
       "dtype: bool"
      ]
     },
     "execution_count": 118,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.isna().any()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([36], dtype=int64)"
      ]
     },
     "execution_count": 119,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result[result.shop_id.isin(shop_c_n.columns)]['shop_id'].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "298       0.0\n",
       "493       0.0\n",
       "817       0.0\n",
       "953       0.0\n",
       "1165      0.0\n",
       "         ... \n",
       "214165    0.0\n",
       "214167    0.0\n",
       "214176    0.0\n",
       "214179    0.0\n",
       "214180    0.0\n",
       "Name: item_cnt_month, Length: 7812, dtype: float64"
      ]
     },
     "execution_count": 120,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.loc[result.item_id.isin(item_zero), 'item_cnt_month'] = 0\n",
    "result.loc[result.item_id.isin(item_zero), 'item_cnt_month']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "metadata": {},
   "outputs": [],
   "source": [
    "result[['ID','item_cnt_month']].to_csv('submission.csv',sep=',',index=False)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
